vee-validate vue 2.0自定义表单验证的实例


Posted in Javascript onAugust 28, 2018

亲测可用

学习vee-validate,首先可以去阅读官方文档,更为详细可以阅读官网中的规则

一、安装

您可以通过npm或通过CDN安装此插件。

1. NPM

npm install vee-validate --save

2. CDN

<script src="path/to/vue.js"></script>
<script src="path/to/vee-validate.js"></script>
<script>
 Vue.use(VeeValidate); // good to go.
</script>

或者你可以使用ES6导入它:

import Vue from 'vue';
import VeeValidate from 'vee-validate';

Vue.use(VeeValidate);

二、使用中文提示

没有配置过的错误提示默认使用英文显示的,如果想要用中文显示需要我们手动配置一下,首先还是在main.js中引入

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

Validator.localize('cn', cn);

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

// 修改默认错误提示
const dict = {
 cn: {messages: {required: (name) => `${name}不能为空!`}} // name接受alias的值.
}
Validator.localize(dict);

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

四、使用自定义规则

Validator.extend('mobile', {
 getMessage: field => "请输入正确的手机号码",
 validate: value => value.length === 11 && /^((13|14|15|17|18)[0-9]{1}\d{8})$/.test(value)
});

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

完整例子

<template>
 <div class="">
 <form @submit.prevent="applyCoupon" class="">
  <label class="">手机号</label>
  <p class="">
  <input v-model="phone" name="phone" :class="" type="text"
    placeholder="请输入手机号"><br>
  <span v-show="errors.has('phone')" class="error">{{ errors.first('phone') }}</span>
  </p>
  <label class="">姓名</label>
  <p class="">
  <input v-model="name" name="name" :class="" type="text"
    placeholder="请输入手机号"><br>
  <span v-show="errors.has('name')" class="error">{{ errors.first('name') }}</span>
  </p>

  <p class="">
  <button type="submit" class="" name="button">确定</button>
  </p>
 </form>
 </div>
</template>
<script>
 import VeeValidate, {Validator} from 'vee-validate';
 import cn from 'vee-validate/dist/locale/zh_CN';

 Validator.localize('cn', cn);

 const dict = {
 cn: {messages: {required: (name) => `${name}不能为空!`}}
 }
 Validator.localize(dict);

 export default {
 name: 'coupon-example',
 validator: null,
 data: () => ({
  phone: '',
  name: '',
  errors: null
 }),
 computed: {},
 methods: {
  applyCoupon() { // 提交执行函数
  this.validator.validate('name', this.name).then((result) => this.discounted = result);
  this.validator.validate('phone', this.phone).then((result) => this.discounted = result);
  }
 },
 created() {
  this.validator = new Validator({});

  Validator.extend('mobile', {
  getMessage: field => "请输入正确的手机号码",
  validate: value => value.length === 11 && /^((13|14|15|17|18)[0-9]{1}\d{8})$/.test(value)
  });
  Validator.extend('name', {
  getMessage: field => "请输入正确姓名",
  validate: value => value == 'tom'
  });

  this.validator.attach({name: 'name', rules: 'required|name', alias: '姓名'});
  this.validator.attach({name: 'phone', rules: 'required|mobile', alias: '手机'});
  // 使用attach以FieldOptions作为其第一个参数的方法添加验证规则。

  this.$set(this, 'errors', this.validator.errors);
 }
 };
</script>
<style>
 .error {
 font-size: 12px;
 color: #ff1c13;
 }
</style>

以上这篇vee-validate vue 2.0自定义表单验证的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript脚本性能优化注意事项
Nov 18 Javascript
巧用局部变量提升javascript性能
Feb 24 Javascript
jquery实现保存已选用户
Jul 21 Javascript
输入框过滤非数字的js代码
Sep 18 Javascript
js+css实现有立体感的按钮式文字竖排菜单效果
Sep 01 Javascript
JavaScript实现网页加载进度条代码超简单
Sep 21 Javascript
Javascript中replace()小结
Sep 30 Javascript
React Native中的RefreshContorl下拉刷新使用
Oct 09 Javascript
原来JS还可以这样拆箱转换详解
Feb 01 Javascript
详解在React项目中安装并使用Less(用法总结)
Mar 18 Javascript
原生JS实现留言板
Mar 26 Javascript
javascript使用正则表达式实现注册登入校验
Sep 23 Javascript
vue+element-ui动态生成多级表头的方法
Aug 28 #Javascript
jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】
Aug 28 #jQuery
对Vue table 动态表格td可编辑的方法详解
Aug 28 #Javascript
微信小程序自定义组件封装及父子间组件传值的方法
Aug 28 #Javascript
layui实现文件或图片上传记录
Aug 28 #Javascript
利用vue.js把静态json绑定bootstrap的table方法
Aug 28 #Javascript
react native 获取地理位置的方法示例
Aug 28 #Javascript
You might like
Smarty中常用变量操作符汇总
2014/10/27 PHP
PHP中常见的缓存技术实例分析
2015/09/23 PHP
JSChart轻量级图形报表工具(内置函数中文参考)
2010/10/11 Javascript
jquery动态增加text元素以及删除文本内容实例代码
2013/07/01 Javascript
jQuery判断多个input file 都不能为空的例子
2015/06/23 Javascript
JavaScript中对DOM节点的访问、创建、修改、删除
2015/11/16 Javascript
javascript+HTML5自定义元素播放焦点图动画
2016/02/21 Javascript
基于jQuery的Web上传插件Uploadify使用示例
2016/05/19 Javascript
JS与Ajax Get和Post在使用上的区别实例详解
2016/06/08 Javascript
AngularJS  $on、$emit和$broadcast的使用
2016/09/05 Javascript
浅谈jQuery中Ajax事件beforesend及各参数含义
2016/12/03 Javascript
微信开发 JS-SDK 6.0.2 经常遇到问题总结
2016/12/08 Javascript
JS实现滑动门效果的方法详解
2016/12/19 Javascript
NodeJS链接MySql数据库的操作方法
2017/06/27 NodeJs
react-router 路由切换动画的实现示例
2018/12/03 Javascript
python写的ARP攻击代码实例
2014/06/04 Python
Python中的Matplotlib模块入门教程
2015/04/15 Python
PYTHON 中使用 GLOBAL引发的一系列问题
2016/10/12 Python
Python安装Numpy和matplotlib的方法(推荐)
2017/11/02 Python
flask框架实现连接sqlite3数据库的方法分析
2018/07/16 Python
使用Django2快速开发Web项目的详细步骤
2019/01/06 Python
PyQt5下拉式复选框QComboCheckBox的实例
2019/06/25 Python
在OpenCV里使用Camshift算法的实现
2019/11/22 Python
python返回数组的索引实例
2019/11/28 Python
深入了解如何基于Python读写Kafka
2019/12/31 Python
如何将anaconda安装配置的mmdetection环境离线拷贝到另一台电脑
2020/10/15 Python
基于Python的身份证验证识别和数据处理详解
2020/11/14 Python
英国在线购买轮胎、预订汽车、汽车维修和装配网站:Protyre
2020/04/12 全球购物
教职工代表大会主持词
2014/04/01 职场文书
商品陈列协议书
2014/09/29 职场文书
党性分析自查总结
2014/10/14 职场文书
2014年大堂经理工作总结
2014/11/21 职场文书
文明单位创建材料
2014/12/24 职场文书
医务人员医德考评自我评价
2015/03/03 职场文书
保卫工作个人总结
2015/03/03 职场文书
结婚喜宴祝酒词
2015/08/10 职场文书