在使用微信小程序表单组件中经常会有自定义rule的需求,官方文档上不是很详细阐述,这里自己记录一下。
划重点:主要是利用rules的validator属性来自定义校验规则,用法如下
// 自定义校验规则
const checkPasssword = function (rule, value) {
const reg = /^[a-z].*[0-9]|[0-9].*[a-z]/;
if (!reg.test(value)) {
return rule.message;
}
}
Page({
data: {
rules: [
{ min: 6, message: '不能少于6个字符' },
{ max: 18, message: '不能超过18个字符' },
{
message: '只允许输入数字和字母',
validator: checkPasssword, // 这里是自定义方法
}
],
},
submitForm() {
this.selectComponent('#form').validate((valid, errors) => {
console.log('valid', valid, errors)
if (!valid) {
const firstError = Object.keys(errors)
if (firstError.length) {
this.setData({
error: errors[firstError[0]].message
})
}
} else {
wx.showToast({
title: '校验通过'
})
}
})
}
})
小伙伴如果有疑问可以第一时间评论或留言,看到后也会及时回复的,有帮助的麻烦动动手指点个赞哟