在使用antd的form组件的时候,在写校验规则时出现了一个问题,就是输入框必须输入数字,但是输入数字仍然校验不通过。(以前也遇到过这个问题,解决了就忘了)
age: [{
type: "number",
required: true,
message: "请输入",
trigger: "blur"
}]
原因是输入后,组件默认是字符类型,也就是"123",需要转换成数字。
一种办法是在v-model后加上.number。
<a-input v-model.number="age" />
另一种办法是在rules里加上transform。
age: [{
type: "number",
required: true,
message: "请输入",
trigger: "blur",
type:'number',
transform(value) {
if(value){
return Number(value);
}
}
}]