uview Form表单验证,非必填,如填就必须校验

项目场景

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'],
}
]

你可能感兴趣的:(uniapp,前端,vue,前端,javascript,uni-app,vue.js)