element-ui 表单验证提示 is not a string
由于需要验证数字,我在rules中加入type为number,然后输入数字时提示 is not a number
好吧,我用正则判断,去掉type:number 验证成功,代码执行通过
后来, 由于后端返回的为数字,验证又提示 is not a string
提问,如何能让他不去验证格式呢。
<el-form-item label="价格" prop="price"> <el-input v-model="form.price" ></el-input> </el-form-item>
<el-form-item label="克重" prop="weight" > <el-input v-model="form.weight" type="number"></el-input> </el-form-item>
<el-form-item label="汇率" prop="rate"> <el-input v-model="form.rate" type="number"></el-input> </el-form-item>
rules: {
name: [
{ required: true, message: '请填写名称', trigger: 'blur' }
],
price: [
{ required: true, message: '请填写价格', trigger: 'blur' }
],
weight: [
{ required: true, message: '请填写克重', trigger: 'blur' },
{validator(r,v,b){console.log(v);(/^[\d]*$/).test(v)?b():b(new Error('请填写数字'))}}
],
rate: [
{ required: true, message: '请填写数字汇率', trigger: 'blur'},
{validator(r,v,b){(/^[\d]*$/).test(v)?b():b(new Error('请填写数字'))}}
]
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
我也研究了半天。。原因出在trigger: 'blur',一张图说明:
首先需要将
Input
的值类型强制转为number
然后,服务器返回的值做一下
强制数值转换
,假设服务器返回回来的数值为res.param.weight
最后,将表单验证规则设置为
数值类型
weight: [
{ type: 'number', required: true, message: '请填写克重', trigger: 'blur' }
]
数据自动转换为数字格式 没看完文档
vue element-ui使用自定义正则表达式:
全套完整代码:[vuejs+element ui+ssm+maven实现登陆注册功能(有完整源码下载)