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 相关文章推荐
CSS常用网站布局实例
Apr 03 Javascript
window.dialogArguments 使用说明
Apr 11 Javascript
js实现的点击div区域外隐藏div区域
Jun 30 Javascript
批量修改标签css样式以input标签为例
Jul 31 Javascript
基于jQuery和CSS3制作响应式水平时间轴附源码下载
Dec 20 Javascript
jquery 动态增加删除行的简单实例(推荐)
Oct 12 Javascript
Angular 4.X开发实践中的踩坑小结
Jul 04 Javascript
细说Vue组件的服务器端渲染的过程
May 30 Javascript
简单谈谈javascript高级特性
Sep 04 Javascript
js实现div色块碰撞
Jan 16 Javascript
vue 清空input标签 中file的值操作
Jul 21 Javascript
Vue3+elementui plus创建项目的方法
Dec 01 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
php程序总是提示验证码输入有误解决方案
2015/01/07 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
2017/12/21 PHP
设置下载不需要倒计时cookie(倒计时代码)
2008/11/19 Javascript
javawscript 三级菜单的实现原理
2009/07/01 Javascript
Whatever:hover 无需javascript让IE支持丰富伪类
2010/06/29 Javascript
IE6、IE7中setAttribute不支持class/for/rowspan/colspan等属性
2011/08/28 Javascript
JS获取页面窗口大小的代码解读
2011/12/01 Javascript
用js实现小球的自由移动代码
2013/04/22 Javascript
JS通过相同的name进行表格求和代码
2013/08/18 Javascript
jQuery ajax serialize() 方法使用示例
2014/11/02 Javascript
JavaScript实现上下浮动的窗口效果代码
2015/10/12 Javascript
解决node.js安装包失败的几种方法
2016/09/02 Javascript
Bootstrap table两种分页示例
2016/12/23 Javascript
获取当前月(季度/年)的最后一天(set相关操作及应用)
2016/12/27 Javascript
Javascript ES6中对象类型Sets的介绍与使用详解
2017/07/17 Javascript
详解微信小程序中的页面代码中的模板的封装
2017/10/12 Javascript
VUE-cli3使用 svg-sprite-loader
2018/10/20 Javascript
JavaScript实现手机号码 3-4-4格式并控制新增和删除时光标的位置
2020/06/02 Javascript
Vue-router中hash模式与history模式的区别详解
2020/12/15 Vue.js
python实现倒计时的示例
2014/02/14 Python
Python中的集合类型知识讲解
2015/08/19 Python
python学习必备知识汇总
2017/09/08 Python
Python管理Windows服务小脚本
2018/03/12 Python
python3解析库lxml的安装与基本使用
2018/06/27 Python
详解python路径拼接os.path.join()函数的用法
2019/10/09 Python
python输出pdf文档的实例
2020/02/13 Python
博柏利美国官方网站:Burberry美国
2020/11/19 全球购物
介绍一下Ruby中的对象,属性和方法
2012/07/11 面试题
应届大学毕业生找工作的求职信范文
2013/11/29 职场文书
学习十八大精神心得体会
2013/12/31 职场文书
酒店个人求职信范文
2014/01/25 职场文书
中秋节礼品促销方案
2014/02/02 职场文书
合作意向书格式及范文
2014/03/31 职场文书
2014年医院个人工作总结
2014/12/09 职场文书
幼儿园教师节感谢信
2015/01/23 职场文书
运动会800米赞词
2015/07/22 职场文书