您好,登錄后才能下訂單哦!
這篇文章主要介紹小程序中如何實現表單驗證,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
1. school.wxml:
<form bindsubmit='formSubmit'><view class="subInfo"> <view class="subInfoItem clearfix"> <text class="tag need">校區名稱</text> <input name='name' value='' placeholder='請輸入校區名稱' placeholder-class='placeholder'></input> </view> <view class="subInfoItem clearfix"> <text class="tag">聯系電話</text> <input name='contactphone' value='' placeholder='請輸入聯系電話' placeholder-class='placeholder'></input> </view></view><view class='btnWrap'> <button class='saveBtn' form-type='submit'>保存</button></view></form>
import WxValidate from '../utils/classes/WxValidate.js'var validate; Page({ // 初始化表單校驗 initValidate(){ // 創建實例對象 this.validate = new WxValidate({ name: { required: true, maxlength: 20 }, contactphone: { tel: true } }, { name: { required: '請輸入校區名稱!', maxlength: '名稱不得超過20字!' }, contactphone: { tel: '電話格式不正確!' } }) }, 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: 'none' }) return false } // 保存操作... } })
注:
WxValidate - 表單驗證
插件介紹
該插件是參考 jQuery Validate 封裝的,為小程序表單提供了一套常用的驗證規則,包括手機號碼、電子郵件驗證等等,同時提供了添加自定義校驗方法,讓表單驗證變得更簡單。
參數說明
參數 | 類型 | 描述 |
---|---|---|
rules | object | 驗證字段的規則 |
messages | object | 驗證字段的提示信息 |
內置校驗規則
序號 | 規則 | 描述 |
---|---|---|
1 | required: true | 這是必填字段。 |
2 | email: true | 請輸入有效的電子郵件地址。 |
3 | tel: true | 請輸入11位的手機號碼。 |
4 | url: true | 請輸入有效的網址。 |
5 | date: true | 請輸入有效的日期。 |
6 | dateISO: true | 請輸入有效的日期(ISO),例如:2009-06-23,1998/01/22。 |
7 | number: true | 請輸入有效的數字。 |
8 | digits: true | 只能輸入數字。 |
9 | idcard: true | 請輸入18位的有效身份證。 |
10 | equalTo: 'field' | 輸入值必須和 field 相同。 |
11 | contains: 'ABC' | 輸入值必須包含 ABC。 |
12 | minlength: 5 | 最少要輸入 5 個字符。 |
13 | maxlength: 10 | 最多可以輸入 10 個字符。 |
14 | rangelength: [5, 10] | 請輸入長度在 5 到 10 之間的字符。 |
15 | min: 5 | 請輸入不小于 5 的數值。 |
16 | max: 10 | 請輸入不大于 10 的數值。 |
17 | range: [5, 10] | 請輸入范圍在 5 到 10 之間的數值。 |
常用實例方法
名稱 | 返回類型 | 描述 |
---|---|---|
checkForm(e) | boolean | 驗證所有字段的規則,返回驗證是否通過。 |
valid() | boolean | 返回驗證是否通過。 |
size() | number | 返回錯誤信息的個數。 |
validationErrors() | array | 返回所有錯誤信息。 |
addMethod(name, method, message) | 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: '請輸入郵箱', email: '請輸入正確的郵箱', }, tel: { required: '請輸入手機號', tel: '請輸入正確的手機號', }, idcard: { required: '請輸入身份證號碼', idcard: '請輸入正確的身份證號碼', }, } // 創建實例對象 this.WxValidate = new WxValidate(rules, messages) // 自定義驗證規則 this.WxValidate.addMethod('assistance', (value, param) => { return this.WxValidate.optional(value) || (value.length >= 1 && value.length <= 2) }, '請勾選1-2個敲碼助手')// 如果有個表單字段的 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 } },
以上是“小程序中如何實現表單驗證”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。