详解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实现经典扫雷游戏
Apr 23 Javascript
jQuery遍历DOM节点操作之filter()方法详解
Apr 14 Javascript
JavaScript用构造函数如何获取变量的类型名
Dec 23 Javascript
JS正则表达式验证密码格式的集中情况总结
Feb 23 Javascript
使用jQuery的load方法设计动态加载及解决被加载页面js失效问题
Mar 01 Javascript
Vue.js 中的 $watch使用方法
May 25 Javascript
Node.js中流(stream)的使用方法示例
Jul 16 Javascript
js实现音乐播放控制条
Sep 09 Javascript
小程序点赞收藏功能的实现代码示例
Sep 07 Javascript
从零开始搭建vue移动端项目到上线的步骤
Oct 15 Javascript
浅谈JavaScript中this的指向问题
Jul 28 Javascript
vue-以文件流-blob-的形式-下载-导出文件操作
Aug 07 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 采集程序中常用的函数
2009/12/09 PHP
php下统计用户在线时间的一种尝试
2010/08/26 PHP
PHP中Socket连接及读写数据超时问题分析
2016/07/19 PHP
php 判断过去离现在几年的函数(实例代码)
2016/11/15 PHP
PHP实现绘制二叉树图形显示功能详解【包括二叉搜索树、平衡树及红黑树】
2017/11/16 PHP
JS中动态添加事件(绑定事件)的代码
2011/01/09 Javascript
关于hashchangebroker和statehashable的补充文档
2011/08/08 Javascript
基于JavaScript实现网页倒计时自动跳转代码
2015/12/28 Javascript
JS验证 只能输入小数点,数字,负数的实现方法
2016/10/07 Javascript
JavaScript仿微博发布信息案例
2016/11/16 Javascript
原生实现一个react-redux的代码示例
2018/06/08 Javascript
vue服务端渲染缓存应用详解
2018/09/12 Javascript
jQuery实现条件搜索查询、实时取值及升降序排序的方法分析
2019/05/04 jQuery
vue中英文切换实例代码
2020/01/21 Javascript
解决Nuxt使用axios跨域问题
2020/07/06 Javascript
Vue.js暴露方法给WebView的使用操作
2020/09/07 Javascript
[04:45]上海特级锦标赛主赛事第三日TOP10
2016/03/05 DOTA
[49:21]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第二场 11.05
2020/11/06 DOTA
python base64 decode incorrect padding错误解决方法
2015/01/08 Python
Python利用BeautifulSoup解析Html的方法示例
2017/07/30 Python
Python实现扩展内置类型的方法分析
2017/10/16 Python
Python3利用print输出带颜色的彩色字体示例代码
2019/04/08 Python
Python在cmd上打印彩色文字实现过程详解
2019/08/07 Python
为什么是 Python -m
2020/06/19 Python
Python中免验证跳转到内容页的实例代码
2020/10/23 Python
详解BeautifulSoup获取特定标签下内容的方法
2020/12/07 Python
ParcelABC西班牙:包裹运送和快递服务
2019/12/24 全球购物
大学生期末自我鉴定
2014/02/01 职场文书
亲子读书活动方案
2014/02/22 职场文书
2014年党务公开实施方案
2014/02/27 职场文书
《最佳路径》教学反思
2014/04/13 职场文书
员工安全生产责任书
2014/07/22 职场文书
家庭贫困证明书(3篇)
2014/09/15 职场文书
个人总结与自我评价
2014/09/18 职场文书
幼儿园体操比赛口号
2015/12/25 职场文书
Golang Web 框架Iris安装部署
2022/08/14 Python