Vee-Validate的使用方法详解


Posted in Javascript onSeptember 22, 2017

引入:

npm install vee-validate --save

vue代码:

import VeeValidate from 'vee-validate';
import zh_CN from 'vee-validate/dist/locale/zh_CN'; //引入中文包,提示信息可以以中文形式显示
import { Validator } from 'vee-validate';

Validator.addLocale(zh_CN); // 设置提示信息中文方式显示

const config = {
 errorBagName: 'errors', 
 fieldsBagName: 'fields',
 delay: 100,  
 locale: 'zh_CN', 
 strict: true, 
 enableAutoClasses: true,
 events: 'blur', 
 inject: true
};

// 自定义提示信息
const dictionary = {
 zh_CN: {
  messages: {
   ip: () => 'ip格式不正确? >.<'
  }
 }
};
Validator.updateDictionary(dictionary);

// 自定义规则
Validator.extend('qq', {
 messages: {
  zh_CN:field => 'qq号码输入不正确'
 },
 validate: value => {
  return /^[1-9][0-9]{4,14}$/.test(value);
 }
});
Vue.use(VeeValidate, config); //一般插件都要use一下

使用

<label><span>ip:</span><input v-validate="'required|email'" name="email" type="text" v-model="ip"/></label>
<span v-show="errors.first('ip')">{{ errors.first('ip') }}</span>

注意 : name一定要写,否则不会进行验证

config配置信息

插件的一些功能可以自定义,需要编写config,然后Vue.use(VeeValidate, config)来使用
一下为配置信息的意思(可能不全面)

errorBagName: 'erroers'

所有的错误信息都是放在这个里面的,如果名称和页面上的变量名字冲突,需要修改成其他的,当是errors.fist的时候,error就是字符串,当使用error.all()/error.collect()的时候就是数组

fieldsBagName: 'fields'

字段的名称(标志)的对象,将在每个Vue的实例数据注入。如果在页面上使用了ip的验证,那么,可以通过如下获取一个对象:

this.fileds.ip
 >> 获取到的对象:
{
  dirty :true
  invalid:false
  pending:false
  pristine:false
  required:true
  touched:true
  untouched:false
  valid:true
  validated:true
}

delay : 100 表示获取输入信息的时间

locale: ‘zh_CN' 验证消息的默认语言。

strict: true 表示没有设置规则的表单不进行验证

classes (不懂)

events: 'blur|input' 默认是input|blur 就是在用户输入和表单失去焦点的时候都进行验证,blue表示失去焦点的时候进行验证

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

Javascript 相关文章推荐
页面载入结束自动调用js函数示例
Sep 23 Javascript
利用js动态添加删除table行的示例代码
Dec 16 Javascript
JavaScript跨平台的开源框架NativeScript
Mar 24 Javascript
巧用jQuery选择器提高写表单效率的方法
Aug 19 Javascript
jquery一键控制checkbox全选、反选或全不选
Oct 16 jQuery
基于jQuery实现定位导航位置效果
Nov 15 jQuery
解决vue-quill-editor上传内容由于图片是base64的导致字符太长的问题
Aug 20 Javascript
浅谈在Vue.js中如何实现时间转换指令
Jan 06 Javascript
利用Node.js如何实现文件循环覆写
Apr 05 Javascript
vue的列表交错过渡实现代码示例
May 05 Javascript
node.js express捕获全局异常的三种方法实例分析
Dec 27 Javascript
原生js实现自定义滚动条
Jan 20 Javascript
Js中async/await的执行顺序详解
Sep 22 #Javascript
Node.js自定义实现文件路由功能
Sep 22 #Javascript
详解bootstrap用dropdown-menu实现上下文菜单
Sep 22 #Javascript
javascript计算渐变颜色的实例
Sep 22 #Javascript
利用Node.js了解与测量HTTP所花费的时间详解
Sep 22 #Javascript
原生JS实现日历组件的示例代码
Sep 22 #Javascript
BootstrapTable加载按钮功能实例代码详解
Sep 22 #Javascript
You might like
PHP文件读写操作之文件读取方法详解
2011/01/13 PHP
vs中通过剪切板循环来循环粘贴不同内容
2011/04/30 PHP
基于php上传图片重命名的6种解决方法的详细介绍
2013/04/28 PHP
Laravel 5框架学习之用户认证
2015/04/09 PHP
PHP实现模拟http请求的方法分析
2017/12/20 PHP
laravel 5.4 + vue + vux + element的环境搭配过程介绍
2018/04/26 PHP
PHP删除数组中指定值的元素常用方法实例分析【4种方法】
2018/08/21 PHP
Django 标签筛选的实现代码(一对多、多对多)
2018/09/05 PHP
javascript 动态调整图片尺寸实现代码
2009/12/28 Javascript
javascript自启动函数的问题探讨
2013/10/05 Javascript
jquery选择符快速提取web表单数据示例
2014/03/27 Javascript
javascript面向对象之this关键词用法分析
2015/01/13 Javascript
Jquery1.9.1源码分析系列(六)延时对象应用之jQuery.ready
2015/11/24 Javascript
JavaScript 不支持 indexof 该如何解决
2016/03/30 Javascript
Bootstrap按钮组实例详解
2017/07/03 Javascript
angular 未登录状态拦截路由跳转的方法
2018/10/09 Javascript
Javascript Dom元素获取和添加详解
2019/09/24 Javascript
Python FTP操作类代码分享
2014/05/13 Python
简单解析Django框架中的表单验证
2015/07/17 Python
Python实现屏幕截图的两种方式
2018/02/05 Python
Python打开文件,将list、numpy数组内容写入txt文件中的方法
2018/10/26 Python
如何获取Python简单for循环索引
2019/11/21 Python
Python 实现Numpy中找出array中最大值所对应的行和列
2019/11/26 Python
对Pytorch中Tensor的各种池化操作解析
2020/01/03 Python
利用python+request通过接口实现人员通行记录上传功能
2021/01/13 Python
css3 实现滚动条美化效果的实例代码
2021/01/06 HTML / CSS
给面试官的感谢信
2014/02/01 职场文书
上班玩游戏检讨书
2014/02/07 职场文书
厕所文明标语
2014/06/11 职场文书
教师求职自荐书
2014/06/14 职场文书
工作说明书格式
2014/07/29 职场文书
2014年党的群众路线活动个人整改措施
2014/10/28 职场文书
2014年幼儿园园务工作总结
2014/12/05 职场文书
学生评语集锦
2015/01/04 职场文书
如何写通讯稿
2015/07/22 职场文书
Python实现学生管理系统并生成exe可执行文件详解流程
2022/01/22 Python