1. 如果 rules 里有二次校验,校验成功需要加 callback()
//比如:
ruleValidate:{
deviceName: [
{
required: true,
message: "设备名称不能为空",
trigger: "blur"
}
{
validator: (rule, value, cb) => {
lenValid(rule, value, cb);
},
trigger: "change"
}
]
}
//要在data 里,return 上加
var lenValid = (rule, value, callback) => {
let regx = /^[a-zA-Z0-9\u4e00-\u9fa5]{0,100}$/;
if (this.deviceForm.deviceName.match(regx) == null) {
callback(new Error("名称长度<= 100,支持汉字、字母、数字"));
return;
} else {
callback(); //成功的callback(),不能少
}
};
2. ref 的值要和 model 的值一致
<Form
ref="deviceForm"
:model="deviceForm"
:rules="ruleValidate"
>
3. 提交的表单的值默认是字符串
如果一直校验不通过,可以打印提交的表单对象,看是否有数值类型需要转化为字符串