验证规则的错误提示信息有三种方式可以定义,如下:
## 使用默认的错误提示信息
如果没有定义任何的验证提示信息,系统会显示默认的错误信息,例如:
~~~
class User extends Validate
{
constructor(){
const rules = {
'user' : 'require|mail'
}
super(rules)
}
}
~~~
~~~
const data = {
'user' : '123456'
};
const vali = new User();
if(!vali.check(data)){
console.log(vali.getError())
}
~~~
会输出`user不是有效的电子邮件地址`。
可以给user字段设置中文名,例如:
~~~
class User extends Validate
{
constructor(){
const rules = {
'user|用户名' : 'require|mail'
}
super(rules)
}
}
~~~
会输出`用户名不是有效的电子邮件地址`。
## 单独定义提示信息
~~~
class User extends Validate
{
constructor(){
const rules = {
'user' : 'require|mail'
};
const message = {
'user.require' : '用户名必须填写',
'user.mail' : '用户名不是有效的电子邮件地址'
}
super(rules,message)
}
}
~~~
## 提示信息自定义别称
如果你写了一个公共的类,但是字段的名称各不相同,或者兼容多语言以及有一些自己的变量
~~~
class User extends Validate
{
constructor(){
const rules = {
'phone|手机' : 'require|mobile'
};
const message = {
'phone.require' : '{field}不可为空',
'phone.mobile' : '{field}格式错误,如有区号如:{example}请去除',
};
super(rules,message);
this.setAlias({
example : "+86 13122223333"
})
}
}
~~~
也可以在实例化后的方法中使用
~~~
const data = {
'phone' : '+86 18888888888'
};
const vali = new User();
vali.setAlias({
example : "+86 13122223333"
})
if(!vali.check(data)){
console.log(vali.getError())
}
~~~
最后输出`手机格式错误,如有区号如:+86 13122223333请去除`
>[info] setField的字段别称以及设置rule中`|`后跟随的字段名字,均会被{field}替换