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 相关文章推荐
js获取url中&quot;?&quot;后面的字串方法
May 15 Javascript
jQuery实现的图片分组切换焦点图插件
Jan 06 Javascript
javascript动态设置样式style实例分析
May 13 Javascript
jQuery新窗口打开外链接
Jul 21 Javascript
Javascript6中字符串的四个新用法分享
Sep 11 Javascript
微信小程序之数据双向绑定与数据操作
May 12 Javascript
vue2.0 实现富文本编辑器功能
May 26 Javascript
解决vue打包后vendor.js文件过大问题
Jul 03 Javascript
Vue根据条件添加click事件的方式
Nov 09 Javascript
微信公众号服务器验证Token步骤图解
Dec 30 Javascript
微信小程序vant弹窗组件的实现方式
Feb 21 Javascript
js实现简单扫雷
Nov 27 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 无限级分类,超级简单的无限级分类,支持输出树状图
2014/06/29 PHP
php判断当前用户已在别处登录的方法
2015/01/06 PHP
了解PHP的返回引用和局部静态变量
2015/06/04 PHP
js 深拷贝函数
2008/12/04 Javascript
JavaScript学习笔记(十)
2010/01/17 Javascript
动感效果的TAB选项卡jquery 插件
2011/07/09 Javascript
jQuery事件用法实例汇总
2014/08/29 Javascript
Javascript动态创建表格及删除行列的方法
2015/05/15 Javascript
JavaScript截断字符串的方法
2015/07/15 Javascript
jquery插件treegrid树状表格的使用方法详解(.Net平台)
2017/01/03 Javascript
Bootstrap笔记—折叠实例代码
2017/03/13 Javascript
JS倒计时实例_天时分秒
2017/08/22 Javascript
Angularjs中数据绑定的实例详解
2017/08/25 Javascript
vue实现消息的无缝滚动效果的示例代码
2017/12/05 Javascript
webpack本地开发环境无法用IP访问的解决方法
2018/03/20 Javascript
详解vue移动端项目的适配(以mint-ui为例)
2018/08/17 Javascript
跨域请求两种方法 jsonp和cors的实现
2018/11/11 Javascript
12个提高JavaScript技能的概念(小结)
2019/05/09 Javascript
在 Vue 中使用 JSX 及使用它的原因浅析
2020/02/10 Javascript
JavaScript 引用类型实例详解【数组、对象、严格模式等】
2020/05/13 Javascript
微信小程序实现带放大效果的轮播图
2020/05/26 Javascript
Kettle中使用JavaScrip调用jar包对文件内容进行MD5加密的操作方法
2020/09/04 Javascript
Python列表推导式的使用方法
2013/11/21 Python
python文件特定行插入和替换实例详解
2017/07/12 Python
Python中协程用法代码详解
2018/02/10 Python
python 2.7 检测一个网页是否能正常访问的方法
2018/12/26 Python
python多线程案例之多任务copy文件完整实例
2019/10/29 Python
pytorch数据预处理错误的解决
2020/02/20 Python
python 图像插值 最近邻、双线性、双三次实例
2020/07/05 Python
Noon埃及:埃及在线购物
2019/11/26 全球购物
旅游管理毕业生自荐信范文
2014/03/19 职场文书
艺人经纪人岗位职责
2014/04/15 职场文书
职位说明书范文
2014/05/07 职场文书
抗洪救灾标语
2014/10/08 职场文书
工作作风整顿个人剖析材料
2014/10/11 职场文书
幼儿园教学反思范文
2016/03/02 职场文书