VUE项目使用Element-ui 下拉组件的验证失效问题

本文主要探讨了在使用Element-ui的下拉组件(select)并开启多选(multiple)功能时遇到的验证失效问题。当下拉框选项通过v-if遍历生成并启用多选时,验证无法正常工作。作者通过分析发现,开启多选后,v-model绑定的值变成了数组。为了解决验证问题,作者建议直接判断v-model绑定的数组长度大于0作为验证条件,而不是尝试使用不被支持的type='text'或type='array'的验证规则。最后,提供了相应的解决代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Element-ui 下拉组件的验证失效问题

问题描述:

在使用Element-ui组件做项目开发时候有可能会使用下拉框组件,如果下拉框组件的option选项是使用v-if指令遍历的,
这样也没有问题,但是如果加上multiple属性,也就是可以多选 就会出现下拉框验证时失效问题.

问题现象:

在这里插入图片描述
如图所示,明明已经选择了选项,可是验证还是为空,因此不能提交请求

解决思路:

  • 如果说找遍组件里的方法都无法获得我们适合使用的,那就要动用原生基本功了
  • console.log一下v-model在此组件上绑定的属性,你发现你绑定的字符串(一般情况下都是String,这里就拿字符串举例说明)打印出来却是Array
  • 所以如果验证必填的话我们就直接判断v-model在此组件上绑定的属性的length是否大于0就好了;其他要求的话可以留言

思路验证:

  • 我有试验过在rules增加type: ‘test’,表面上看起来是可以的,但是打开控制台,它已经报错了: Unkown rule type text,如下图:
    在这里插入图片描述
    竟然没有type=text属性! 好吧~只能继续
  • 既然多选设置之后输出的是数组, 那就跟chexkbox一样 ,我可以把v-model属性改成[],然后rules里面的type: 'array’实验一下,结果不报错,但是验证也不生效
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值