vue中使用iview自定义验证关键词输入框问题及解决方法


Posted in Javascript onMarch 26, 2018

一、验证需求

     对应配置的关键词输入框,验证要求如下:

    1、总字数不能超过7000个;

    2、去除配置的关键词特殊符号,得到的关键词组数不能超过300;(如:aaa&(bbb|ccc)|(!ddd|eee)),去掉特殊符号,有5组)

    3、单个关键词长度不能超过20;(如:aaaaa&(bbb|ccc)),如果aaaaa长度超过20则提示)

vue中使用iview自定义验证关键词输入框问题及解决方法

二、解决方法

     在关键词输入对应的FormItem中加入一个prop属性,作为验证字段使用;注意该FormItem是包含于Form的;

vue中使用iview自定义验证关键词输入框问题及解决方法

form表单中添加rules验证

vue中使用iview自定义验证关键词输入框问题及解决方法

由于iview对空和总长度可以直接定义验证规则,所以这里就只自己写其余2个,代码如下:

//高级配置验证
validateAdvancedFormItem: {
 name: [
 {required: true, message: '任务名称不能为空', trigger: 'blur'},
 {type: 'string', max: 20, message: '不能超过20个字符', trigger: 'blur'},
 {validator: validNameExist, trigger: 'blur'}
 ],
 groupId: [
 {type: 'string', required: true, message: '请选择任务分组', trigger: 'change'}
 ],
 keywords: [
 {required: true, message: '关键词不能为空', trigger: 'blur'},
 {type: 'string', max: 7000, message: '不能超过7000个字符', trigger: 'blur'},
 {validator: validKeyWordsRule, trigger: 'blur'}
 ],
 /* chooseSiteGroupList: [//todo 暂时注释掉网站分组
  { required: true, type: 'array', min: 1, message: '请选择网站分组', trigger: 'change' },
 ],*/
 chooseInfoTypeList: [
 {required: true, type: 'array', min: 1, message: '请选择信息类型', trigger: 'change'},
 ],
 warnNum: [
 {required: true, message: '请填写预警增量'},
 ],
 warnUserList: [
 {required: true, type: 'array', message: '请选择预警人员', validator: validatewarnUser, trigger: 'change'},
 ],
},

自定义验证规则方法:

//验证高级配置关键词 规则
const validKeyWordsRule = (rule, value, callback) => {
 var isExceedTwitenty = this.getAdvancedKeyWords();
 var isExceedThreeHundreand = this.getAdvancedKeyWords();
 if(isExceedTwitenty == 1) {
 callback(new Error('配置单个关键词长度不能超过20'))
 } else if(isExceedThreeHundreand == 2) {
 callback(new Error('配置关键词个数不能超过300'))
 } else {
 callback();
 }
};
//处理关键词
getAdvancedKeyWords: function () {
 var flag = -1;
 if(this.dailyTaskItem.keywords != '' && this.dailyTaskItem.keywords.trim() != '') {
 //判断单个配置的关键词长度是否大于20
 var str = '';
 for (var i = 0; i < this.dailyTaskItem.keywords.length; i++) {
  str = str + this.dailyTaskItem.keywords.substr(i, 1).replace(/[\&|\||\!|\(|\)|\"]/, ' ');
 }
 var keywordArr = str.split(' ');
 var resultArr = [];
 for(var i in keywordArr) {
  if(keywordArr[i] != '') {
  resultArr.push(keywordArr[i])
  if(keywordArr[i].trim().length > 20) {
   flag = 1;
   break
  }
  }
 }
 //.关键词一共300个
 if(resultArr.length > 300) {
  flag = 2;
 }
 }
 return flag;
},

总结

以上所述是小编给大家介绍的vue中使用iview自定义验证关键词输入框问题及解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript一点特殊用法
May 28 Javascript
JQuery 动态扩展对象之另类视角
May 25 Javascript
复制Input内容的js代码_支持所有浏览器,修正了Firefox3.5以上的问题
Jun 21 Javascript
仿猪八戒网左下角的文字滚动效果
Oct 28 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
Sep 04 Javascript
JavaScript中定时控制Throttle、Debounce和Immediate详解
Nov 17 Javascript
Bootstrap php制作动态分页标签
Dec 23 Javascript
利用Javascript实现一套自定义事件机制
Dec 14 Javascript
JS实现非首屏图片延迟加载的示例
Jan 06 Javascript
jQuery实现菜单的显示和隐藏功能示例
Jul 24 jQuery
手把手教你 CKEDITOR 4 实现Dialog 内嵌 IFrame操作详解
Jun 18 Javascript
JavaScript实现的弹出遮罩层特效经典示例【基于jQuery】
Jul 10 jQuery
Vue中v-show添加表达式的问题(判断是否显示)
Mar 26 #Javascript
使用Vue构建可重用的分页组件
Mar 26 #Javascript
基于jQuery实现Ajax验证用户名是否可用实例
Mar 25 #jQuery
jQuery实现的回车触发按钮事件功能示例
Mar 25 #jQuery
jQuery+Cookie实现切换皮肤功能【附源码下载】
Mar 25 #jQuery
Angular 组件之间的交互的示例代码
Mar 24 #Javascript
Vue中computed与methods的区别详解
Mar 24 #Javascript
You might like
php打包网站并在线压缩为zip
2016/02/13 PHP
PHP实现打包zip并下载功能
2018/06/12 PHP
PHP fopen函数用法实例讲解
2019/02/15 PHP
纯js实现背景图片切换效果代码
2010/11/14 Javascript
自己写的Javascript计算时间差函数
2013/10/28 Javascript
提高jQuery性能的十个诀窍
2013/11/14 Javascript
JQuery的$命名冲突详细解析
2013/12/28 Javascript
使用jquery.upload.js实现异步上传示例代码
2014/07/29 Javascript
node.js中的fs.writeFile方法使用说明
2014/12/14 Javascript
JSONP之我见
2015/03/24 Javascript
jquery实现漂亮的二级下拉菜单代码
2015/08/26 Javascript
分享自己用JS做的扫雷小游戏
2016/02/17 Javascript
AngularJs导出数据到Excel的示例代码
2017/08/11 Javascript
详解基于Koa2开发微信二维码扫码支付相关流程
2018/05/16 Javascript
JavaScript中变量提升与函数提升经典实例分析
2018/07/26 Javascript
jQuery zTree树插件的使用教程
2019/08/16 jQuery
详解element-ui表格中勾选checkbox,高亮当前行
2019/09/02 Javascript
微信小程序点击保存图片到本机功能
2019/12/13 Javascript
Python素数检测实例分析
2015/06/15 Python
python引入不同文件夹下的自定义模块方法
2018/10/27 Python
Python3 关于pycharm自动导入包快捷设置的方法
2019/01/16 Python
解决django前后端分离csrf验证的问题
2019/02/03 Python
python assert的用处示例详解
2019/04/01 Python
Python统计分析模块statistics用法示例
2019/09/06 Python
python+gdal+遥感图像拼接(mosaic)的实例
2020/03/10 Python
MyFrenchPharma中文网:最大的法国药妆平台
2016/10/07 全球购物
CK澳大利亚官网:Calvin Klein澳大利亚
2020/12/12 全球购物
上海某公司.net方向笔试题
2014/09/14 面试题
Java语言程序设计测试题选择题部分
2014/04/03 面试题
应用化学专业本科生求职信
2013/09/29 职场文书
太太口服液广告词
2014/03/20 职场文书
工程学毕业生自荐信
2014/06/14 职场文书
公司活动总结范文
2014/07/01 职场文书
60句有关成长的名言
2019/09/04 职场文书
Python echarts实现数据可视化实例详解
2022/03/03 Python
python APScheduler执行定时任务介绍
2022/04/19 Python