详解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 相关文章推荐
JS简单的图片放大缩小的两种方法
Nov 11 Javascript
javascript实现下班倒计时效果的方法(可桌面通知)
Jul 10 Javascript
深入学习JavaScript的AngularJS框架中指令的使用方法
Mar 05 Javascript
JavaScipt选取文档元素的方法(推荐)
Aug 05 Javascript
通过sails和阿里大于实现短信验证
Jan 04 Javascript
js 判断数据类型的几种方法
Jan 13 Javascript
Vuex之理解Mutations的用法实例
Apr 19 Javascript
Vue cli3 库模式搭建组件库并发布到 npm的流程
Oct 12 Javascript
Phaser.js实现简单的跑酷游戏附源码下载
Oct 26 Javascript
vue-cli3 项目从搭建优化到docker部署的方法
Jan 28 Javascript
vue使用video.js进行视频播放功能
Jul 18 Javascript
JS实现点击掉落特效
Jan 29 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获取Google AJAX Search API 数据的代码
2010/03/12 PHP
PHP 魔术函数使用说明
2010/05/14 PHP
Yii扩展组件编写方法实例分析
2015/06/29 PHP
Yii框架连表查询操作示例
2019/09/06 PHP
PHP实现图片防盗链破解操作示例【解决图片防盗链问题/反向代理】
2020/05/29 PHP
Javascript 实现的数独解题算法网页实例
2013/10/15 Javascript
Javascript常用字符串判断函数代码分享
2014/12/08 Javascript
Javascript变量的作用域和作用域链详解
2015/04/02 Javascript
jQuery滚动条插件nanoscroller使用指南
2015/04/21 Javascript
javascript实现保留两位小数的多种方法
2015/12/18 Javascript
什么是JavaScript注入攻击?
2016/09/14 Javascript
jstree创建无限分级树的方法【基于ajax动态创建子节点】
2016/10/25 Javascript
基于node.js依赖express解析post请求四种数据格式
2017/02/13 Javascript
基于vue中解决v-for使用报红并出现警告的问题
2018/03/03 Javascript
vue项目如何刷新当前页面的方法
2018/05/18 Javascript
详解组件库的webpack构建速度优化
2018/06/18 Javascript
JS实现换肤功能的方法实例详解
2019/01/30 Javascript
[03:07]【DOTA2亚洲邀请赛】我们,梦开始的地方
2017/03/07 DOTA
[01:11:48]Fnatic vs IG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python Mysql自动备份脚本
2008/07/14 Python
python client使用http post 到server端的代码
2013/02/10 Python
理解python多线程(python多线程简明教程)
2014/06/09 Python
python引入导入自定义模块和外部文件的实例
2017/07/24 Python
如何在python中使用selenium的示例
2017/12/26 Python
VSCode下配置python调试运行环境的方法
2018/04/06 Python
Python3内置模块pprint让打印比print更美观详解
2019/06/02 Python
详解Python 调用C# dll库最简方法
2019/06/20 Python
PyQt5重写QComboBox的鼠标点击事件方法
2019/06/25 Python
浅谈django 重载str 方法
2020/05/19 Python
Reformation官网:美国女装品牌
2018/09/14 全球购物
新闻编辑自荐信
2013/11/03 职场文书
会计专业毕业生推荐信
2013/11/05 职场文书
推广活动策划方案
2014/08/23 职场文书
离婚起诉书范本
2015/05/18 职场文书
民事二审代理词
2015/05/25 职场文书
全面盘点MySQL中的那些重要日志文件
2021/11/27 MySQL