提示

验证规则的错误提示信息有三种方式可以定义,如下:

# 使用默认的错误提示信息

如果没有定义任何的验证提示信息,系统会显示默认的错误信息,例如:

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"
        })
    }
}

提示

此时{filed}对应rules字段中的手机,{example}对应setAlias方法中的example

也可以在实例化后的方法中使用

const data = {
    'phone'  : '+86 18888888888'
};

const vali = new User();

vali.setAlias({
    example : "+86 13122223333"
})

if(!vali.check(data)){
    console.log(vali.getError())
}

最后输出手机格式错误,如有区号如:+86 13122223333请去除

提示

setField的字段别称以及设置rule中|后跟随的字段名字,均会被{field}替换