Ant Design Vue 添加区分中英文的长度校验功能


Posted in Javascript onJanuary 21, 2020

原本的maxLength属性是不区分全角/半角字符的,对于一些可中英文混合输入地方而言不太合适。所以想找一个可区分全角/半角字符的校验,而且要保证一定的可重用性。

百度搜了一圈都没找到合适的现成的解决方案,所以自己试着基于v-decorator的自定义校验validator实现了一下,核心代码如下:

校验插件

const validators = {
 /**
 * 可区分全角字符/半角字符的长度校验。
 * @param min
 * @param max
 * @returns {Function}
 */
 length({min=0,max=100000000}){
 return function(rule, value,callback){
  //将一个全角字符替换成两个半角字符,以得到真实长度。
  let realLength = value.replace(/[\u0391-\uFFE5]/g,'aa').length;
  realLength <= max && realLength >= min ? callback() : max<100000000 ? callback('输入长度应在'+min+'到'+max+'个字符之间!') : callback('至少应输入'+min+'个字符!');
 }
 }
}
const install = function(Vue, options) {
 Vue.prototype.validators = validators;
}
export default { install }

main.js 安装插件

Vue.use(validators)

添加校验

<a-form-item label="参数值" :labelCol="labelCol" :wrapperCol="wrapperCol">
   <a-input v-decorator="[ 'paraValue', validatorRules.paraValue]" placeholder="请输入参数值"></a-input>
</a-form-item>

validatorRules:{
  paraValue:{rules: [{validator:this.validators.length({max:50})}]}
  }

若是看不懂校验函数的写法,可先了解一下闭包与高阶函数的概念,这里就不多说啦。

总结

以上所述是小编给大家介绍的Ant Design Vue 添加区分中英文的长度校验功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
JQuery 写的个性导航菜单
Dec 24 Javascript
js function定义函数使用心得
Apr 15 Javascript
JS面向对象编程之对象使用分析
Aug 19 Javascript
关于jquery input textare 事件绑定及用法学习
Apr 03 Javascript
脚本合并提升javascript性能示例
Feb 24 Javascript
Javascript异步编程模型Promise模式详细介绍
May 08 Javascript
jQuery插件pagewalkthrough实现引导页效果
Jul 05 Javascript
Javascript控制div属性动态变化实例分析
Oct 08 Javascript
Bootstrap选项卡学习笔记分享
Feb 13 Javascript
jQuery获取Table某列的值(推荐)
Mar 03 Javascript
vue开发简单上传图片功能
Jun 30 Javascript
Vue常用API、高级API的相关总结
Feb 02 Vue.js
python虚拟环境 virtualenv的简单使用
Jan 21 #Javascript
详解vue中v-bind:style效果的自定义指令
Jan 21 #Javascript
vue.js iview打包上线后字体图标不显示解决办法
Jan 20 #Javascript
Angular单元测试之事件触发的实现
Jan 20 #Javascript
vue elementui 实现搜索栏公共组件封装的实例代码
Jan 20 #Javascript
D3.js 实现带伸缩时间轴拓扑图的示例代码
Jan 20 #Javascript
阿望教你用vue写扫雷小游戏
Jan 20 #Javascript
You might like
thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法
2016/09/30 PHP
Javascript 阻止javascript事件冒泡,获取控件ID值
2009/06/27 Javascript
javascript学习之闭包分析
2010/12/02 Javascript
jquery里的each使用方法详解
2010/12/22 Javascript
JavaScript常用全局属性与方法记录积累
2013/07/03 Javascript
20行代码实现的一个CSS覆盖率测试脚本
2013/07/07 Javascript
jQuery中element选择器用法实例
2014/12/29 Javascript
Javascript中的匿名函数与封装介绍
2015/03/15 Javascript
javascript操作Cookie(设置、读取、删除)方法详解
2015/03/18 Javascript
jQuery实现HTML表格单元格的合并功能
2016/04/06 Javascript
jquery.qtip提示信息插件用法简单实例
2016/06/17 Javascript
JS集合set类的实现与使用方法示例
2019/02/01 Javascript
使用Vue调取接口,并渲染数据的示例代码
2019/10/28 Javascript
微信公众号中的JSSDK接入及invalid signature等常见错误问题分析(全面解析)
2020/04/11 Javascript
javascript设计模式 ? 职责链模式原理与用法实例分析
2020/04/16 Javascript
python的id()函数解密过程
2012/12/25 Python
Python常见数据结构详解
2014/07/24 Python
python映射列表实例分析
2015/01/26 Python
python中Genarator函数用法分析
2015/04/08 Python
详解python中xlrd包的安装与处理Excel表格
2016/12/16 Python
Python线性回归实战分析
2018/02/01 Python
Python自动生成代码 使用tkinter图形化操作并生成代码框架
2019/09/18 Python
Python嵌套函数,作用域与偏函数用法实例分析
2019/12/26 Python
pycharm开发一个简单界面和通用mvc模板(操作方法图解)
2020/05/27 Python
CSS3条纹背景制作的实战攻略
2016/05/31 HTML / CSS
CSS3实现菜单悬停效果
2020/11/17 HTML / CSS
纽约现代艺术博物馆商店:MoMA STORE(室内家具和杂货商品)
2016/08/02 全球购物
JACK & JONES瑞典官方网站:杰克琼斯欧式风格男装
2017/12/23 全球购物
推荐信怎么写
2014/05/09 职场文书
绿色环保家庭事迹材料
2014/08/31 职场文书
酒店管理失职检讨书
2014/09/16 职场文书
html2 canvas svg不能识别的解决方案
2021/06/03 HTML / CSS
如何使用 resize 实现图片切换预览功能
2021/08/23 HTML / CSS
springmvc直接不经过controller访问WEB-INF中的页面问题
2022/02/24 Java/Android
关于EntityWrapper的in用法
2022/03/22 Java/Android
mysql全面解析json/数组
2022/07/07 MySQL