驗證規則的錯誤提示信息有三種方式可以定義,如下:
## 使用默認的錯誤提示信息
如果沒有定義任何的驗證提示信息,系統會顯示默認的錯誤信息,例如:
~~~
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}替換