// 从 async-validator 中引入构造函数
|
import Schema from 'async-validator'
|
|
Page({
|
data: {
|
name: ''
|
},
|
|
// 对数据进行验证
|
onValidator() {
|
// 定义验证规则
|
const rules = {
|
// key 验证规则的名字,名字需要和验证的数据保持一致
|
name: [
|
// required 是否是必填项
|
// message 如果验证失败,提示错误内容
|
{ required: true, message: 'name 不能为空' },
|
|
// type 验证数据的类型
|
{ type: 'string', message: 'name 不是字符串' },
|
|
// min 最少位数,max 最大位数
|
{ min: 2, max: 3, message: '名字最少 2 个字,最多是 3 个字' }
|
|
// pattern 使用正则对数据进行验证
|
// { pattern: '', message: '' }
|
|
// validator 自定义验证规则
|
// { validator: () => {} }
|
]
|
}
|
|
// 需要对构造函数进行实例化,同时传入验证规则
|
const validator = new Schema(rules)
|
|
// 需要调用 validate 实例方法,对数据进行验证
|
// 第一个参数:需要验证的数据,要求数据是一个对象
|
// validate 方法只会验证和验证规则同名的字段
|
// 第二个参数:是一个回调函数
|
validator.validate(this.data, (errors, fields) => {
|
// 如果验证成功,errors 是一个 null
|
// 如果验证失败,errors 是一个数组,数组每一项是错误信息
|
|
// fields 是需要验证的属性,属性值是一个数组,数组中也包含着错误信息
|
|
if (errors) {
|
console.log('验证失败')
|
|
console.log(errors)
|
|
console.log(fields)
|
} else {
|
console.log('验证成功')
|
}
|
})
|
}
|
})
|