项目场景
uview 中使用表单校验,邮箱字段不是必填字段
但用户填写了邮箱就需要校验邮箱格式是否正确
用户如没有填写、及填写正确的邮箱,则通过校验
如果填写了错误的邮箱,则提示错误信息,整体表单校验不通过
实现方式
email: [{
required: false,
//或通过条件判断来设置是否必填校验
required: this.isRequired ? true : false
},
{
// 自定义验证函数
validator: (rule, value, callback) => {
if (value == "") {
return true;
} else {
// 上面有说,返回true表示校验通过,返回false表示不通过
// this.$u.test.email()就是返回true或者false的
return this.$u.test.email(value);
}
},
message: '邮箱格式不正确',
// 触发器可以同时用blur和change
trigger: ['change', 'blur'],
}
]