解决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 相关文章推荐
Javascript 构造函数,公有,私有特权和静态成员定义方法
Nov 30 Javascript
chrome下img加载对height()的影响示例探讨
May 26 Javascript
javascript父、子页面交互技巧总结
Aug 08 Javascript
浅谈javascript中的闭包
May 13 Javascript
JS锚点的设置与使用方法
Sep 05 Javascript
移动端日期插件Mobiscroll.js使用详解
Dec 19 Javascript
利用Jasmine对Angular进行单元测试的方法详解
Jun 12 Javascript
angular实现spa单页面应用实例
Jul 10 Javascript
JS实现验证码倒计时的注册页面
Jan 02 Javascript
仿ElementUI实现一个Form表单的实现代码
Apr 23 Javascript
微信小程序iBeacon测距及稳定程序的实现解析
Jul 31 Javascript
Vue中常用rules校验规则(实例代码)
Nov 14 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
php 分页原理详解
2009/08/21 PHP
解析在apache里面给php写虚拟目录的详细方法
2013/06/24 PHP
PHP彩蛋信息介绍和阻止泄漏的方法(隐藏功能)
2014/08/06 PHP
8个PHP数组面试题
2015/06/23 PHP
swoole_process实现进程池的方法示例
2018/10/29 PHP
Swoole源码中如何查询Websocket的连接问题详解
2020/08/30 PHP
php使用event扩展的io复用测试的示例
2020/10/20 PHP
EXTJS FORM HIDDEN TEXTFIELD 赋值 使用value不好用的问题
2011/04/16 Javascript
js每隔5分钟执行一次ajax请求的实现方法
2013/11/27 Javascript
JavaScript AOP编程实例
2015/06/16 Javascript
九种原生js动画效果
2015/11/11 Javascript
iOS和Android用同一个二维码实现跳转下载链接的方法
2016/09/28 Javascript
Javascript使用function创建类的两种方法(推荐)
2016/11/19 Javascript
react native与webview通信的示例代码
2017/09/25 Javascript
详解package.json版本号规则
2019/08/01 Javascript
Layui 数据表格批量删除和多条件搜索的实例
2019/09/04 Javascript
[01:04:06]DOTA2上海特级锦标赛A组资格赛#2 Secret VS EHOME第一局
2016/02/26 DOTA
python爱心表白 每天都是浪漫七夕!
2018/08/18 Python
python linecache 处理固定格式文本数据的方法
2019/01/08 Python
Django框架模型简单介绍与使用分析
2019/07/18 Python
pandas的排序和排名的具体使用
2019/07/31 Python
python实现超市商品销售管理系统
2019/10/25 Python
python encrypt 实现AES加密的实例详解
2020/02/20 Python
使用opencv识别图像红色区域,并输出红色区域中心点坐标
2020/06/02 Python
python爬虫使用requests发送post请求示例详解
2020/08/05 Python
Pycharm中使用git进行合作开发的教程详解
2020/11/17 Python
Java里面有没有全局变量?为什么?
2015/02/06 面试题
请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
2015/07/16 面试题
Linux上比较文件的命令都有哪些
2012/02/24 面试题
勤奋学习演讲稿
2014/05/10 职场文书
基层干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
大学生考试作弊被抓检讨书
2014/12/27 职场文书
行政处罚决定书
2015/06/24 职场文书
朋友聚会祝酒词
2015/08/10 职场文书
公司借款担保书
2015/09/22 职场文书
Python实现批量将文件复制到新的目录中再修改名称
2022/04/12 Python