vue表单校验vee-validate
来源:互联网 发布:当前网络热门话题 编辑:程序博客网 时间:2024/06/05 20:56
下面介绍一款vue中的表单校验插件。
一、安装
npm install vee-validate --save-dev
二、配置
vee-validate默认是英文提示的校验,我们需要把它配置成中文的。可以使用如下方法:
//validate.jsimport Vue from 'vue';import VeeValidate, { Validator} from 'vee-validate';import zh_CN from 'vee-validate/dist/locale/zh_CN';//引入中文提示语言const dictionary = { zh_CN};//校验的一些配置信息const config = { errorBagName: 'errors2', // change if property conflicts. fieldsBagName: 'fields', delay: 0, locale: 'zh_CN', dictionary: null, strict: true, enableAutoClasses: false, classNames: { touched: 'touched', // the control has been blurred untouched: 'untouched', // the control hasn't been blurred valid: 'valid', // model is valid invalid: 'invalid', // model is invalid pristine: 'pristine', // control has not been interacted with dirty: 'dirty' // control has been interacted with }, events: 'input|blur', inject: true};Validator.updateDictionary(dictionary);//更新配置Vue.use(VeeValidate, config);
这样我们便完成了中文提示的配置了。
三、简单使用
如下代码基于微信端ui框架vux
<x-input label-width='4rem' placeholder="请输入手机号" v-validate="'required'" name='手机号' v-model="mobile"> <i slot="label" class="iconfont icon-people"></i> </x-input> <span v-show="errors2.has('手机号') && submitted" class="errors-tip is-danger">{{ errors2.first('手机号') }}</span>
v-validate=“‘required’” 表示必填校验,name=’手机号’ name属性是必须得,这个是告诉vee-validate要校验的字段为手机号,同时也用于错误提示。v-show=”errors2.has(‘手机号’) && submitted” submitted是我们为校验设置的标志,比如提交时才显示错误内容。errors2.first(‘手机号’)表示显示手机号校验的第一个错误内容。
四、内置校验规则
after{target} - 比target要大的一个合法日期,格式(DD/MM/YYYY)alpha - 只包含英文字符alpha_dash - 可以包含英文、数字、下划线、破折号alpha_num - 可以包含英文和数字before:{target} - 和after相反between:{min},{max} - 在min和max之间的数字confirmed:{target} - 必须和target一样date_between:{min,max} - 日期在min和max之间date_format:{format} - 合法的format格式化日期decimal:{decimals?} - 数字,而且是decimals进制digits:{length} - 长度为length的数字dimensions:{width},{height} - 符合宽高规定的图片email - 不解释ext:[extensions] - 后缀名image - 图片in:[list] - 包含在数组list内的值ip - ipv4地址max:{length} - 最大长度为length的字符mimes:[list] - 文件类型min - max相反mot_in - in相反numeric - 只允许数字regex:{pattern} - 值必须符合正则patternrequired - 不解释size:{kb} - 文件大小不超过url:{domain?} - (指定域名的)url
具体可参考官网vee-validate
五、自定义校验规则
内置规则往往是不够我们使用的,vee-validate提供十分简便的方法让我们扩展校验规则,可参考如下例子:
//配置验证规则const validateRules = { mobile: { messages: {//错误提示消息 zh_CN: field => '手机号码输入不正确', }, validate: value => {//字段校验规则 return value.length == 11 && /^((13|14|15|17|18)[0-9]{1}\d{8})$/.test(value) } }, idCard: { messages: { zh_CN: field => '身份证号码输入不正确', }, validate: value => { var reg = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/; //18位 var regs = /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/; return reg.test(value) || regs.test(value); } }, passWord: { messages: { zh_CN: field => '密码需为8-16位数字与字母组合', }, validate: value => { let reg1 = /\d+/; let reg2 = /[a-zA-Z]/; return value.length >= 8 && value.length <= 16 &®1.test(value) && reg2.test(value); } } } //添加验证规则Object.keys(validateRules).forEach((key) => { Validator.extend(key, validateRules[key]);});
我们只需要添加将这段上文的validate.js便可以了。
然后在我们的main.js中将这个validate.js引入,便可以启动我们的校验了。
阅读全文
0 0
- vue表单校验vee-validate
- vue表单验证 vee-validate
- jquery validate表单校验
- validate表单校验
- 表单校验-validate.js
- vue爬坑——vee-validate的使用
- vue表单校验
- JQuery -- Validate, Jquery 表单校验
- jQuery表单校验之Validate
- 利用validate进行表单校验
- jQuery的validate表单校验
- vee-validate 验证
- vue表单自定义校验规则
- jQuery的表单校验插件validate
- jQuery的表单校验插件validate(转)
- jQuery校验 jQuery Validate 表单验证详解
- Bootstrap和JQuery.validate表单校验
- Jquery validate插件之表单校验
- Java之网络编程(三)TCP
- HTTP通信模拟表单提交数据
- 基于Redis实现分布式锁
- 【网络流24题】方格取数(二分图染色+最大权独立点集+最小割)
- Linux下的段错误分析
- vue表单校验vee-validate
- 开篇
- redis 集群搭建
- 关于 String对象 常量池 字符串常量
- C++ 动态捕获整型数列
- ubutu tomcat 启用80端口步骤
- 同一窗口下基于KCF 目标跟踪和基于模板匹配的目标跟踪效果比较
- 使用jQuery库出错:index.jsp:16 Uncaught ReferenceError: $ is not defined
- 函数中返回字符串的方法