vue中使用el-form表单校验失效问题

文章讲述了在Vue中使用ElementUI的el-form进行表单校验时遇到的问题,主要集中在ref未正确绑定和浏览器对多个相同prop处理导致的验证失效。解决方案是为每个el-form添加唯一的key值以区别对待。
摘要由CSDN通过智能技术生成

记录el-form使用问题

页面中使用el-form进行表单校验时,发现只有password能校验成功,且所有el-form-item项都是相同的写法,刚开始以为是绑定的v-model值写错了,复制其他页面正常代码还是不生效,

注释password后,控制台报错:model is required for validate to work!

注意通常出现这个报错是 ref 写错了,或者把el-form的  :model  属性写成了 v-model,这两个值需要和data中定义的值一样

排除这个错误之后,怀疑是页面有多个表单的原因,注释掉其中一后发现验证功能生效了

百度了下,是因为浏览器在解析时,先解析第一个表单,此时表单上是没有绑定ref,之后再解析第二个表单时,浏览器发现这它的prop和第一个表单的prop一样,所以就认为这两个表单是同一个表单,就没有重新渲染,而ref本身是作为渲染结果被创建的,所以第二个表单没能成功绑定ref,验证就无法生效

最后解决:给两个el-form添加key值区分开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值