# 创建验证
任何时候,都可以直接使用Validate
类而不需要定义验证器类进行独立的验证操作,例如:
const validate = Validate.make({
'name' : 'require|max:25',
'mail' : 'mail'
});
const data = {
'name' : '名字',
'mail' : '123456@qq.com'
};
if(!validate.check(data)){
console.log(validate.getError())
}
make
方法直接传入验证规则(对象),check
方法传入需要验证的数据(对象)。
# 自定义验证规则
独立验证时可通过Validate.extend
来动态扩展方法
function check_name(value, rule, data = {}){
return value === rule ? true : '用户名错误';
}
validate.extend(check_name)
if(!validate.check(data)){
console.log(validate.getError())
}
也可以使用闭包方式进行扩展
validate.extend('check_name',function(value, rule, data = {}){
return value === rule ? true : '用户名错误';
});
if(!validate.check(data)){
console.log(validate.getError())
}
验证方法可以传入的参数共有4
个(后面两个根据情况选用),依次为:
- 验证数据
- 验证规则
- 全部数据(数组)
- 其他数据(数组)如
check_name:michael:1:2
此处为除去michael
以外的1,2
数据
# 设置字段信息
验证类的架构方法支持使用setField
方法批量设置字段的描述信息,例如:
const validate = Validate.make({
'name' : 'require|length:6,16',
'mail' : 'mail'
});
const data = {
'name' : '名字',
'mail' : '123456@qq.com'
};
validate.setField({
'name' : '用户名',
'mail' : '邮箱'
});
if(!validate.check(data)){
console.log(validate.getError())
}
# 错误提示信息
如果要使用自定义的错误信息,可以使用setMsg
方法:
const data = {
'name' : '名字',
'mail' : '123456@qq.com'
};
const validate = Validate.make({
'name' : 'require|length:6,16',
'mail' : 'mail'
}).setMsg({
'name.require' : '用户名必须填写',
'name.length' : '用户名长度错误',
'mail.mail' : '邮箱格式错误',
})
if(!validate.check(data)){
console.log(validate.getError())
}