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 实现父窗口引用弹出窗口的值的脚本
Aug 07 Javascript
某人初学javascript的时候写的学习笔记
Dec 30 Javascript
js操作iframe的一些方法介绍
Jun 25 Javascript
jQuery UI插件自定义confirm确认框的方法
Mar 20 Javascript
javasript实现密码的隐藏与显示
May 08 Javascript
JS实现的简洁二级导航菜单雏形效果
Oct 13 Javascript
jquery中checkbox使用方法简单实例演示
Nov 24 Javascript
jquery.validate.js 多个相同name的处理方式
Jul 10 jQuery
使用vue-cli脚手架工具搭建vue-webpack项目
Jan 14 Javascript
Node.js 获取微信JS-SDK CONFIG的方法示例
May 21 Javascript
17道题让你彻底理解JS中的类型转换
Aug 08 Javascript
详解nuxt 微信公众号支付遇到的问题与解决
Aug 26 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
关于访问控制的一首PHP面试题(对属性或方法的访问控制)
2012/09/13 PHP
ThinkPHP的SAE开发相关注意事项详解
2016/10/09 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
用函数式编程技术编写优美的 JavaScript
2006/11/25 Javascript
javascript实现的像java、c#之类的sleep暂停的函数代码
2010/03/04 Javascript
网页广告中JS代码的信息监听示例
2014/04/02 Javascript
js控制href内容的连接内容的变化示例
2014/04/30 Javascript
jQuery扁平化风格下拉框美化插件FancySelect使用指南
2015/02/10 Javascript
JavaScript返回网页中超链接数量的方法
2015/04/03 Javascript
jquery中trigger()无法触发hover事件的解决方法
2015/05/07 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
2015/09/17 Javascript
详解Html a标签中href和onclick用法、区别、优先级别
2017/01/16 Javascript
走进AngularJs之过滤器(filter)详解
2017/02/17 Javascript
Vue2.x中的Render函数详解
2017/05/30 Javascript
谈谈vue中mixin的一点理解
2017/12/12 Javascript
layui之select的option叠加问题的解决方法
2018/03/08 Javascript
微信小程序云开发使用方法新手初体验
2019/05/16 Javascript
python结合shell查询google关键词排名的实现代码
2016/02/27 Python
Python使用requests提交HTTP表单的方法
2018/12/26 Python
PyCharm安装Markdown插件的两种方法
2019/06/24 Python
python轮询机制控制led实例
2020/05/03 Python
Python xlwt模块使用代码实例
2020/06/10 Python
Python使用eval函数执行动态标表达式过程详解
2020/10/17 Python
html5应用缓存_动力节点Java学院整理
2017/07/13 HTML / CSS
西班牙第一的网上药房:PromoFarma.com
2017/04/17 全球购物
美国婚礼装饰和活动用品批发供应商:Event Decor Direct
2018/10/12 全球购物
戴尔新西兰官网:Dell New Zealand
2020/01/07 全球购物
What is view? why do we have view?
2012/06/22 面试题
管理科学大学生求职信
2013/11/13 职场文书
创意活动策划书
2014/01/15 职场文书
高三毕业评语
2014/12/31 职场文书
2015年世界粮食日演讲稿
2015/03/20 职场文书
2015年敬老月活动总结
2015/03/27 职场文书
2016年秋季新学期致辞
2015/07/30 职场文书
2016年度创先争优活动总结
2016/04/05 职场文书
python 自动刷新网页的两种方法
2021/04/20 Python