vue中使用iview自定义验证关键词输入框问题及解决
网络编程 2021-07-04 17:33www.168986.cn编程入门
这篇文章主要介绍了vue中使用iview自定义验证关键词输入框问题及解决方法,本文通过实例结合代码的形式给大家介绍解决方法,需要的朋友可以参考下
一、验证需求
对应配置的关键词输入框,验证要求如下
1、总字数不能超过7000个;
2、去除配置的关键词特殊符号,得到的关键词组数不能超过300;(如aaa&(bbb|c)|(!ddd|eee)),去掉特殊符号,有5组)
3、单个关键词长度不能超过20;(如aaaaa&(bbb|c)),如果aaaaa长度超过20则提示)
二、解决方法
在关键词输入对应的FormItem
中加入一个prop属性,作为验证字段使用;注意该FormItem是包含于Form的;
form表单中添加rules验证
由于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自定义验证关键词输入框问题及解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,长沙网络推广会及时回复大家的。在此也非常感谢大家对狼蚁SEO网站的支持!
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程