搜尋
首頁微信小程式小程式開發小程式的開發:表單的驗證(程式碼)

小程式的開發:表單的驗證(程式碼)

Aug 10, 2018 pm 03:55 PM
小程式表單校驗

這篇文章帶給大家的內容是關於小程式的開發:表單的驗證(程式碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

1. school.wxml:

<form bindsubmit=&#39;formSubmit&#39;><view class="subInfo">
  <view class="subInfoItem clearfix">
    <text class="tag need">校区名称</text>
    <input name=&#39;name&#39; value=&#39;&#39; placeholder=&#39;请输入校区名称&#39; placeholder-class=&#39;placeholder&#39;></input>
  </view>
  <view class="subInfoItem clearfix">
    <text class="tag">联系电话</text>
    <input name=&#39;contactphone&#39; value=&#39;&#39; placeholder=&#39;请输入联系电话&#39; placeholder-class=&#39;placeholder&#39;></input>
  </view></view><view class=&#39;btnWrap&#39;>
  <button class=&#39;saveBtn&#39; form-type=&#39;submit&#39;>保存</button></view></form>

2.school.js:

import WxValidate from &#39;../utils/classes/WxValidate.js&#39;var validate;

Page({    // 初始化表单校验
    initValidate(){        // 创建实例对象
        this.validate = new WxValidate({
            name: {
                required: true,
                maxlength: 20
            },
            contactphone: {
                tel: true
            }
        }, {
                name: {
                    required: &#39;请输入校区名称!&#39;,
                    maxlength: &#39;名称不得超过20字!&#39;
                },
                contactphone: {
                    tel: &#39;电话格式不正确!&#39;
                }
            })
    },
    data: {

    },
    onLoad: function (options) {
        this.initValidate()
    },
    formSubmit(e){        // 校验表单
        if (!this.validate.checkForm(e.detail.value)){            
        const error = this.validate.errorList[0];
            wx.showToast({
                title: `${error.msg} `,
                icon: &#39;none&#39;
            })            
            return false
        }        // 保存操作...
    }
})

註:

WxValidate - 表單驗證

外掛程式介紹

該外掛程式是參考jQuery Validate 封裝的,為小程式表單提供了一套常用的驗證規則,包括手機號碼、電子郵件驗證等等,同時提供了新增自訂校驗方法,讓表單驗證變得更簡單。

參數說明

##描述rules驗證欄位的規則messages驗證欄位的提示訊息
參數 類型
object
object
#內建校驗規則

序號規則描述#1這是必填欄位。 2#請輸入有效的電子郵件地址。 3#請輸入11位元的手機號碼。 4#請輸入有效的網址。 5請輸入有效的日期。 6請輸入有效的日期(ISO),例如:2009-06-23 ,1998/01/22。 7請輸入有效的數字。 8只能輸入數字。 9請輸入18位元的有效身分證。 10輸入值必須和 field 相同。 11輸入值必須包含 ABC。 12最少要輸入 5 個字元。 13最多可以輸入 10 個字元。 14請輸入長度在 5 到 10 之間的字元。 15#請輸入不小於 5 的數值。 16#請輸入不大於 10 的數值。 17請輸入範圍在 5 到 10 之間的數值。
required: true
email: true
tel: true
url: true
date: true
dateISO: true
number: true
digits: true
idcard: true
equalTo: 'field'
contains: 'ABC'
minlength: 5
maxlength: 10
rangelength: [5, 10]
min: 5
max: 10
range: [5, 10]
常用實例方法

#名稱傳回類型描述checkForm(e)驗證所有欄位的規則,傳回驗證是否通過。 valid()#傳回驗證是否通過。 size()#傳回錯誤訊息的數量。 validationErrors()傳回所有錯誤訊息。 addMethod(name, method, message)新增自訂驗證方法。
#boolean
boolean
number
array
#boolean
addMethod(name, method, message) - 新增自訂校驗

第一個參數 name 是新增的方法的名稱。 第二個參數 method 是一個函數,接收三個參數 (value, param) ,value 是元素的值,param 是參數。 第三個參數 message 是自訂的錯誤提示。

使用說明

// 验证字段的规则const rules = {
    email: {
        required: true,
        email: true,
    },
    tel: {
        required: true,
        tel: true,
    },
    idcard: {
        required: true,
        idcard: true,
    },
}// 验证字段的提示信息,若不传则调用默认的信息const messages = {
    email: {
        required: &#39;请输入邮箱&#39;,
        email: &#39;请输入正确的邮箱&#39;,
    },
    tel: {
        required: &#39;请输入手机号&#39;,
        tel: &#39;请输入正确的手机号&#39;,
    },
    idcard: {
        required: &#39;请输入身份证号码&#39;,
        idcard: &#39;请输入正确的身份证号码&#39;,
    },
}
// 创建实例对象
this.WxValidate = new WxValidate(rules, messages)
// 自定义验证规则
this.WxValidate.addMethod(&#39;assistance&#39;, (value, param) => {    
return this.WxValidate.optional(value) || (value.length >= 1 && value.length <= 2)
}, &#39;请勾选1-2个敲码助手&#39;)// 如果有个表单字段的 assistance,则在 rules 中写assistance: {
    required: true,
    assistance: true,
},// 调用验证方法,传入参数 e 是 form 表单组件中的数据submitForm(e) {    
const params = e.detail.value

    console.log(params)    // 传入表单数据,调用验证方法
    if (!this.WxValidate.checkForm(e)) {        
    const error = this.WxValidate.errorList[0]        
    return false
    }
},

相關推薦:

#小程式:實作點擊倒數計時的程式碼

小程式元件:聊天會話元件的介紹(附程式碼)

小程式與背景互動的實作(附程式碼)

小程式與背景互動的實作(附程式碼)#########

以上是小程式的開發:表單的驗證(程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能