gitHub 地址:https://github.com/baianat/vee-validate

官网API 地址:https://baianat.github.io/vee-validate/api/

配置

先下载到项目 npm install vee-validate --save

封装一个自定义指令,方便后面使用

import {Validator, install as VeeValidate} from 'vee-validate';
import {required, min, max, excluded, included} from 'vee-validate/dist/rules.esm.js';
import {messages, rules} from '@/util'; import '@/assets/style/validation.sass'; export default function install(Vue) {
Validator.extend('required', required);
Validator.extend('min', min);
Validator.extend('max', max);
Validator.extend('excluded', excluded);
Validator.extend('included', included); Vue.use(VeeValidate, {
locale: 'cn',
dictionary: {
cn: {messages}
},
classes: ['invalid'],
fieldsBagName: 'xfields'
}); for (let key in rules) {
key && Validator.extend(key, rules[key]);
}
}

更多配置参考 https://baianat.github.io/vee-validate/configuration.html

util.js 下面放一些自定义的规则,列如

import {included} from 'vee-validate/dist/rules.esm.js';

export const messages = {
required: field => `${field}为必填项`,
max: (field, len) => `${field}长度不可多于${len}`,
min: (field, len) => `${field}长度最多${len}`
}; export const rules = {
phone: {
getMessage: () => '手机号码格式不正确',
validate: value => /^(?=\d{11}$)^1(?:3\d|4[57]|5[^4\D]|66|7[^249\D]|8\d|9[89])\d{8}$/.test(value)
},
email: {
getMessage: field => `${field}格式不正确`,
validate: email
},
phoneExcluded: {
getMessage: () => '手机号码格式不正确',
validate: (value, args) => {
return included(value, args) || /^(?=\d{11}$)^1(?:3\d|4[57]|5[^4\D]|66|7[^249\D]|8\d|9[89])\d{8}$/.test(value) // eslint-disable-line
}
},
}

在vue中使用方法,例如

<el-input
v-model="form.successTextPrompt"
v-validate="{required: true, max: 20}"
data-vv-as="文字提示"
data-vv-name="successTextPrompt"
placeholder="请输入"
/>
<span class="error-msg" v-show="errors.has('successTextPrompt')">{{ errors.first('successTextPrompt') }}</span>
methods: {
  submit() {
    this.$validator.validateAll().then(valid => {
if (valid) {
// 校验成功
  }
  }
  }
}

Vue 表单校验 vee-validate的更多相关文章

  1. vue 表单校验(二)

    vue 表单校验(二) vue element-ui表单校验 由于现在使用element-ui进行form表单校验,因而使用其自带的校验规则进行校验,发现有些并不是那么好校验,或者说是校验起来很繁琐, ...

  2. vue表单校验(三)

    vue表单校验(三) 每当看到heyui的这个表单校验,我就一直想将element的校验也做类似的功能,终于有了方式,虽然不是很完美,但是可以使用,能满足要求了 实现方式 基于element-ui实现 ...

  3. vue 表单校验报错 "Error: please transfer a valid prop path to form item!"

    vue 表单校验报错 "Error: please transfer a valid prop path to form item!" 原因:prop的内容和rules中定义的名称 ...

  4. 2.12 学习总结 之 表单校验插件validate

    一.说在前面 昨天 学习了ajax的相关知识 今天 学习表单校验插件validate, 并使用ajax 自定义校验规则 二.validate 插件 1.网络上有许多成熟的插件共使用者参考,插件就是将j ...

  5. vue 表单校验 一

    表单校验 一 最近使用elment-ui表单进行各种校验,心力交瘁,依旧不能很好地解决,先列出自己的归类,后期一个个攻破 表单校验史 表单校验准则 参考资源 1 2 3 4 5 第一种 显示明确的错误 ...

  6. 案例15-基本的表单校验使用validate

    1 导入插件 <!--引入jquery相关文件 --> <script src="js/jquery-1.11.3.min.js" type="text ...

  7. JQuery 表单校验插件 validate 使用纪录

    JS诞生其中一个目的就是将, 服务器端的校验在客户端提前完成, 以避免用户提交数据后, 后台校验报错的糟糕用户体验. 基于JQuery库的有很多优秀的插件, 其中对于浏览器端表单进行验证的基本功能也有 ...

  8. vue表单校验提交报错TypeError: Cannot read property 'validate' of undefined

    TypeError: Cannot read property 'validate' of undefined at VueComponent.submitForm (plat_users.html: ...

  9. from表单校验插件 validate 实例

    $("#nextSubmit").click(function(){ $("#recovePasswordForm").submit(); }); $(&quo ...

随机推荐

  1. JavaEE XML的读写(利用JDom对XML文件进行读写)

    1.有关XML的写 利用JDom2包,JDom2这个包中,至少引入org.jdom2.*;如果要进行XML文件的写出,则要进行导入org.jdom2.output.*; package com.lit ...

  2. Jfinal集成Spring

    JFinal框架也整合了spring框架,下面实现JFinal怎么去配置Spring框架.在JFinal中整合Spring使用到的类是SpringPlugin和IocInterceptor类 Spri ...

  3. Ruby on Rails Tutorial 第一章笔记

    搭建开发环境 作者介绍了 Cloud9\ Coding.net 这样的云端开发环境 安装 Rails 1. 新建 rails 应用 首先,调用 rails new 命令创建一个新的 Rails 应用, ...

  4. mybatis-generator自动生成代码工具

    1.在项目的配置文件中放入配置文件mybatis-generator-config.xml   根据情况修改下配置 <?xml version="1.0" encoding= ...

  5. 从Excel、CSV文件获取数据

    #region 从Excel获取数据 /// <summary> /// 从Excel获取数据 /// </summary> /// <param name=" ...

  6. Vim 安装、配置及复制粘贴操作

    1.安装:sudo apt-get install vim 2.配置:cd ~ #进入用户主目录 touch .vimrc #.后缀文件不可见 vi .vimrc #打开文件 输入: set cind ...

  7. Oracle优化之旅:使用leading, use_nl, rownum调优例子

    1.使用leading和use_nl来设置表的查询顺序,来加快查询速度,一般把小表设为第一个表. /*+LEADING(TABLE)*/  将指定的表作为连接次序中的首表. /*+USE_NL(TAB ...

  8. 简单易懂的 Vue.js 基础知识 !

    根 vue 实例 let viewModel = new Vue({ // 包含数据.模板.挂载元素.方法.生命周期钩子等选项 }) Hello Wrold  <!-- 这是我们的 View - ...

  9. js--变量对象总结

    当 JavaScript 代码执行一段可执行代码(executable code)时,会创建对应的执行上下文(execution context). 对于每个执行上下文,都有三个重要属性: 变量对象( ...

  10. 【Java】字符串工具类

    import android.annotation.SuppressLint; import java.io.UnsupportedEncodingException; import java.uti ...