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源码分析-03构造jQuery对象-源码结构和核心函数
Nov 14 Javascript
javascript延时加载之defer测试
Dec 28 Javascript
js获取URL的参数的方法(getQueryString)示例
Sep 29 Javascript
javascript实现二级级联菜单的简单制作
Nov 19 Javascript
基于bootstrap实现广告轮播带图片和文字效果
Jul 22 Javascript
关于动态执行代码(js的Eval)实例详解
Aug 15 Javascript
Bootstrap table两种分页示例
Dec 23 Javascript
Element Input组件分析小结
Oct 11 Javascript
微信小程序wx.navigateTo中events属性实现页面间通信传值,数据同步
Jul 13 Javascript
微信小程序scroll-view隐藏滚动条的方法详解
Mar 25 Javascript
JavaScript位置参数实现原理及过程解析
Sep 14 Javascript
Nuxt.js的路由跳转操作(页面跳转nuxt-link)
Nov 06 Javascript
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
基于flush()不能按顺序输出时的解决办法
2013/06/29 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
PHP使用SMTP邮件服务器发送邮件示例
2018/08/28 PHP
Laravel配合jwt使用的方法实例
2020/10/25 PHP
PHP dirname功能及原理实例解析
2020/10/28 PHP
javascript 冒泡排序 正序和倒序实现代码
2010/12/14 Javascript
解析Jquery中如何把一段html代码动态写入到DIV中(实例说明)
2013/07/09 Javascript
NodeJS中利用Promise来封装异步函数
2015/02/25 NodeJs
AngularJs实现ng1.3+表单验证
2015/12/10 Javascript
jQuery Easyui学习之datagrid 动态添加、移除editor
2016/01/27 Javascript
jQuery-mobile事件监听与用法详解
2016/11/23 Javascript
Bootstrap基本布局实现方法详解
2016/11/25 Javascript
Javascript实现登录记住用户名和密码功能
2017/03/22 Javascript
Node.js实现简单的爬取的示例代码
2019/06/25 Javascript
p5.js绘制创意自画像
2019/11/04 Javascript
Vue实现兄弟组件间的联动效果
2020/01/21 Javascript
JavaScript常用工具函数大全
2020/05/06 Javascript
uin-app+mockjs实现本地数据模拟
2020/08/26 Javascript
python2.7到3.x迁移指南
2018/02/01 Python
python多线程分块读取文件
2019/08/29 Python
Django使用uwsgi部署时的配置以及django日志文件的处理方法
2019/08/30 Python
Python图像处理二值化方法实例汇总
2020/07/24 Python
python 密码学示例——凯撒密码的实现
2020/09/21 Python
在Python中实现字典反转案例
2020/12/05 Python
2014年圣诞节倒计时网页的制作过程
2014/12/05 HTML / CSS
html5唤起app的方法
2017/11/30 HTML / CSS
网站性能延迟加载图像的五种技巧(小结)
2020/08/13 HTML / CSS
介绍一下XMLHttpRequest对象的常用方法和属性
2013/05/24 面试题
应用数学自荐书范文
2013/11/24 职场文书
建议书的格式
2014/05/12 职场文书
志愿者活动总结报告
2014/06/27 职场文书
银行反四风对照检查材料
2014/09/29 职场文书
质量保证书格式
2015/02/27 职场文书
安全守法证明
2015/06/23 职场文书
2015年庆祝国庆节66周年演讲稿
2015/07/30 职场文书
2016幼儿园中班开学寄语
2015/12/03 职场文书