详解vee-validate的使用个人小结


Posted in Javascript onJune 07, 2017

学习vee-validate,首先可以去阅读官方文档,更为详细可以阅读官网中的规则。英文文档可能会有不理解的地方,推荐大家看这篇博客

下面来简单总结一下我的使用:

一、安装

npm install vee-validate@next --save

后面加@next是为了安装vue2.0的版本

二、引入

我使用的是vue-cli脚手架工具,需要在main.js中

import VeeValidate from 'vee-validate'

Vue.use(VeeValidate);

三、简单的使用

这个时候其实已经可以使用了,先上demo

<div>
    <label for="email">邮箱:</label>
    <input v-validate ="'required|email'" type="text" id="email" name="myEmail">
  </div>
  <span v-show="errors.has('myEmail')">{{ errors.first('myEmail')}}</span>

解释一下:v-validate后面的required和email是官方已经规定好的几种默认错误类型中的两个,这个可以阅读官方文档。
span中用到了errors的几个方法,这里的参数都是定义了验证规则的表单的name。列举几个errors的方法:

1、first(‘field')

field中(也就是刚刚说过的name表单)中的第一个错误

2、collect(‘field')

field中所有的错误

3、has(‘field')

field中是否有错误

4、all()

当前表单中的所有错误

5、any()

当前表单中是否有错误

6、count()

当前表单中的错误数量

7、clear()

清除当前表单中的所有错误

四、使用中文错误提示

没有配置过的错误提示默认使用英文显示的,如果想要用中文显示需要我们手动配置一下

首先还是在main.js中引入

import zh_CN from 'vee-validate/dist/locale/zh_CN'
import { Validator } from 'vee-validate';

紧接着再加一句

Validator.addLocale(zh_CN);

最后需要把第一步的Vue.use(VeeValidate)改为

Vue.use(VeeValidate, {
 locale: 'zh_CN',
});

现在错误提示已经是中文了

五、配置组件

上一点中的配置中文其实已经是对组件的配置了,再说一说其他的配置。

//配置
const config = {
 errorBagName: 'errors', // change if property conflicts.
 fieldsBagName: 'fields',
 delay: 0,
 locale: 'zh_CN',
 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: 'blur',
 inject: true
};
Vue.use(VeeValidate, config);

delay是指对错误提示的延迟时间;locale就是上一点中对中文的配置,只是这里统一写到了config中;strict=true代表没有设置规则的表单不进行校验,events默认是input|blur,就是在用户输入和表单失去焦点时都进行校验,这里我改成了blur,即只有失去焦点时才开始验证。

五、修改默认的错误提示信息

//修改默认错误提示
const dictionary = {
 zh_CN: {
  messages: {
   email: () => '邮箱格式不正确哦'
  }
 }
};
Validator.updateDictionary(dictionary);

demo中修改了email的错误提示信息,因为使用的中文(前面引入的),所以是zh_CN。最后用updateDictionary方法加入到Validator中。

六、自定义规则

Validator.extend('qq', {
 messages: {
  zh_CN:field => 'qq号码输入不正确'
 },
 validate: value => {
  return /^[1-9][0-9]{4,14}$/.test(value);
 }
});

extend的第一个参数就是自定义的规则的名字,可以像使用默认规则一样使用它,messages中是错误提示信息,validate是验证规则,返回一个布尔值或promise.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 错误处理与调试经验总结
Aug 10 Javascript
JS实现图片横向滚动效果示例代码
Sep 04 Javascript
jQuery取消ajax请求的方法
Jun 09 Javascript
jQuery下拉友情链接美化效果代码分享
Aug 26 Javascript
基于jquery实现下拉框美化特效
Feb 02 Javascript
js获取Html元素的实际宽度高度的方法
May 19 Javascript
AngularJs验证重复密码的方法(两种)
Nov 25 Javascript
vue2.0开发实践总结之入门篇
Dec 06 Javascript
微信小程序-获得用户输入内容
Feb 13 Javascript
详解vue的数据binding绑定原理
Apr 12 Javascript
在vue-cli搭建的项目中增加后台mock接口的方法
Apr 26 Javascript
JS实现长图上下滚动效果
Mar 19 Javascript
微信小程序多张图片上传功能
Jun 07 #Javascript
Vue.js对象转换实例
Jun 07 #Javascript
深入理解Angular4中的依赖注入
Jun 07 #Javascript
Vue中保存用户登录状态实例代码
Jun 07 #Javascript
jquery dataTable 后台加载数据并分页实例代码
Jun 07 #jQuery
jQuery用户头像裁剪插件cropbox.js使用详解
Jun 07 #jQuery
使用vue和datatables进行表格的服务器端分页实例代码
Jun 07 #Javascript
You might like
解析如何通过PHP函数获取当前运行的环境 来进行判断执行逻辑(小技巧)
2013/06/25 PHP
php像数组一样存取和修改字符串字符
2014/03/21 PHP
PHP生成可点击刷新的验证码简单示例
2016/05/13 PHP
基于PHP制作验证码
2016/10/12 PHP
jquery ajax提交表单数据的两种实现方法
2010/04/29 Javascript
仅Firefox中链接A无法实现模拟点击以触发其默认行为
2011/07/31 Javascript
JavaScript高级程序设计 阅读笔记(二十一) JavaScript中的XML
2012/09/14 Javascript
JavaScript 函数replace深入了解
2013/03/14 Javascript
如何判断鼠标是否在DIV的区域内
2013/11/13 Javascript
分享一个自己写的简单的javascript分页组件
2015/02/15 Javascript
解决jquery中动态新增的元素节点无法触发事件问题的两种方法
2015/10/30 Javascript
JS使用正则表达式过滤多个词语并替换为相同长度星号的方法
2016/08/03 Javascript
搭建Bootstrap离线文档的方法
2016/12/02 Javascript
微信小程序 require机制详解及实例代码
2016/12/14 Javascript
详解A标签中href=&quot;&quot;的几种用法
2017/08/20 Javascript
React Native中的RefreshContorl下拉刷新使用
2017/10/09 Javascript
Vue 获取数组键名的方法
2018/06/21 Javascript
nodejs检测因特网是否断开的解决方案
2019/04/17 NodeJs
[42:39]老党炸弹人试玩视频
2014/09/03 DOTA
使用Python下载歌词并嵌入歌曲文件中的实现代码
2015/11/13 Python
学习python类方法与对象方法
2016/03/15 Python
python实现停车管理系统
2018/11/30 Python
通过PHP与Python代码对比的语法差异详解
2019/07/10 Python
Python企业编码生成系统总体系统设计概述
2019/07/26 Python
浅谈Python 参数与变量
2020/06/20 Python
Europcar德国:全球汽车租赁领域的领导者
2018/08/15 全球购物
Linux的主要特性
2014/10/06 面试题
安全标语大全
2014/06/10 职场文书
心得体会的写法
2014/09/05 职场文书
服务员岗位职责
2015/02/03 职场文书
高中生自我评价范文2015
2015/03/03 职场文书
高校自主招生校长推荐信
2015/03/23 职场文书
高二语文教学反思
2016/02/16 职场文书
五年级语文教学反思
2016/03/03 职场文书
煤矿施工安全协议书
2016/03/22 职场文书
python 开心网和豆瓣日记爬取的小爬虫
2021/05/29 Python