关于 element UI 表单验证数字类型提示 “xx is not a string“

1,118 阅读1分钟

在这里插入图片描述 在这里插入图片描述

原因:

原因出在校验规则上,官方文档没有说明一个细节,如果你用数字校验,也用了v-model.number,你原来的校验规则里如果有target: 'blur',需要去掉,呢么随着校验也会随之消失这不是我们想要的结果。

解决方案:

   // 给校验加上type类型限制就像这样 type: 'number'
   { required: true, type: 'number', target: 'blur', message: '培训积分不能为空' }

我尝试了一下在输入时不会报错,但回显时会报 "xx is not a number"

最终方案:

然后我就尝试了一下使用 逻辑或 || 运算符进行尝试多写一个校验没想到真的可以

{ required: true, type: 'number', target: 'blur', message: '培训积分不能为空' }
	|| 
{ required: true, type: 'string', target: 'blur', message: '培训积分不能为空' }

很显然如果不用于回显,第一种解决方案已经满足我们