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


Posted in Javascript onNovember 07, 2020

问题描述:

在使用Element-ui组件做项目开发时候有可能会使用下拉框组件,如果下拉框组件的option选项是使用v-if指令遍历的,

这样也没有问题,但是如果加上multiple属性,也就是可以多选 就会出现下拉框验证时失效问题.

问题现象:

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

如图所示,明明已经选择了选项,可是验证还是为空,因此不能提交请求

解决思路:

如果说找遍组件里的方法都无法获得我们适合使用的,那就要动用原生基本功了

console.log一下v-model在此组件上绑定的属性,你发现你绑定的字符串(一般情况下都是String,这里就拿字符串举例说明)打印出来却是Array

所以如果验证必填的话我们就直接判断v-model在此组件上绑定的属性的length是否大于0就好了;其他要求的话可以留言

思路验证:

我有试验过在rules增加type: ‘test',表面上看起来是可以的,但是打开控制台,它已经报错了: Unkown rule type text,如下图:

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

竟然没有type=text属性! 好吧~只能继续

既然多选设置之后输出的是数组, 那就跟chexkbox一样 ,我可以把v-model属性改成[],然后rules里面的type: 'array'实验一下,结果不报错,但是验证也不生效

可见Element还是有坑踩哦,我的项目紧急就先原生解决了,哪天找到组件解决办法我会及时更新的,当然如果谁知道解决办法也请分享给我哦~欢迎技术交流

解决代码

if (this.form.STORE_PROVINCE.length === 0 || this.form.STORE_PROVINCE.length == '') {
    this.$message.error('请选择至少一个区域')
    return false
  } else {
   // 要执行的代码
  }

以上便可解决了。

补充知识:element ui表单验证select既获取label又获取value

html部分

<el-form-item label="所属公司" prop="comName">
    <el-select v-model="ruleForm.comName" placeholder="请选择所属公司" @change="selectGet">
   <el-option v-for="item in ruleForm.options2" :key="item.id" :value="item.id" :label="item.comName"></el-option>
    </el-select>
</el-form-item>

js部分

//获取selectlabel值
selectGet(vId){
  let obj = {};
  obj = this.ruleForm.options2.find((item)=>{//this.ruleForm
  return item.id === vId;//筛选出匹配数据
  });
  console.log(obj.comName);//我这边的name就是对应label的
},

在data return里边定义

data(){
  return{
    ruleForm:{
      options:[
        {id:1,comName:'BEIJING'},
        {id:2,comName:'TIANJIN'}
      ]
    }
  
  }
}

以上这篇解决VUE项目使用Element-ui 下拉组件的验证失效问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js导出格式化的excel 实例方法
Jul 17 Javascript
从jquery的过滤器.filter()方法想到的
Sep 29 Javascript
JS教程:window.location使用方法的区别介绍
Oct 04 Javascript
Mac地址验证的javascript代码
Nov 09 Javascript
推荐 21 款优秀的高性能 Node.js 开发框架
Aug 18 Javascript
jQuery Masonry瀑布流插件使用详解
Nov 17 Javascript
jquery validate表单验证插件
Sep 06 Javascript
Ajax使用原生态JS验证用户名是否存在
May 26 Javascript
AngularJS服务service用法总结
Dec 13 Javascript
JavaScript之创意时钟项目(实例讲解)
Oct 23 Javascript
详解小程序云开发数据库
May 20 Javascript
vue data对象重新赋值无效(未更改)的解决方式
Jul 24 Javascript
详解datagrid使用方法(重要)
Nov 06 #Javascript
VUE异步更新DOM - 用$nextTick解决DOM视图的问题
Nov 06 #Javascript
nuxt.js服务端渲染中axios和proxy代理的配置操作
Nov 06 #Javascript
微信小程序开发数据缓存基础知识辨析及运用实例详解
Nov 06 #Javascript
nuxt 路由、过渡特效、中间件的实现代码
Nov 06 #Javascript
Nuxt的路由动画效果案例
Nov 06 #Javascript
微信小程序中target和currentTarget的区别小结
Nov 06 #Javascript
You might like
优化使用mysql存储session的php代码
2008/01/10 PHP
php中的boolean(布尔)类型详解
2013/10/28 PHP
php准确计算复活节日期的方法
2015/04/18 PHP
php $_SESSION会员登录实例分享
2021/01/19 PHP
PHP基于SMTP协议实现邮件发送实例代码
2017/04/27 PHP
PHP获取文件扩展名的方法实例总结
2017/06/10 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
Javascript调试工具(下载)
2007/01/09 Javascript
javascript基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
2008/08/05 Javascript
仅IE9/10同时支持script元素的onload和onreadystatechange事件分析
2011/04/27 Javascript
基于jquery的文字向上跑动类似跑马灯的效果
2014/09/22 Javascript
JavaScript实现带箭头标识的多级下拉菜单效果
2015/08/27 Javascript
JS基于面向对象实现的拖拽库实例
2015/09/24 Javascript
浅谈使用MVC模式进行JavaScript程序开发
2015/11/10 Javascript
如何清除IE10+ input X 文本框的叉叉和密码输入框的眼睛图标
2016/12/21 Javascript
nodejs对项目下所有空文件夹创建gitkeep的方法
2019/08/02 NodeJs
微信小程序点餐系统开发常见问题汇总
2019/08/06 Javascript
[02:47]DOTA2亚洲邀请赛 HR战队出场宣传片
2015/02/07 DOTA
Python ZipFile模块详解
2013/11/01 Python
Python中模块pymysql查询结果后如何获取字段列表
2017/06/05 Python
Python之ReportLab绘制条形码和二维码的实例
2018/01/15 Python
python3实现逐字输出的方法
2019/01/23 Python
python爬虫 urllib模块url编码处理详解
2019/08/20 Python
Python numpy数组转置与轴变换
2019/11/15 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
2020/02/25 Python
Python安装Bs4的多种方法
2020/11/28 Python
浅谈HTML5中dialog元素尝鲜
2018/10/15 HTML / CSS
爱尔兰家电数码商城:Currys PC World爱尔兰
2016/07/23 全球购物
澳大利亚最受欢迎的美发和美容在线商店:Catwalk
2018/12/12 全球购物
班级文化建设标语
2014/06/23 职场文书
个人纪律作风整改措施思想汇报
2014/10/12 职场文书
再婚婚前财产协议书范本
2014/10/19 职场文书
感恩节寄语2015
2015/03/24 职场文书
《鲁滨逊漂流记》之六读后感(4篇)
2019/09/29 职场文书
Python机器学习之基于Pytorch实现猫狗分类
2021/06/08 Python
html+css实现环绕倒影加载特效
2021/07/07 HTML / CSS