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. 在pycharm中运行python程序

    安装PyCharm 安装过程取决于您的操作系统: 在Windows上安装PyCharm 运行.exe您已下载的文件,并按照PyCharm安装向导的说明进行操作. 在macOS上安装PyCharm 打开 ...

  2. webpack引入eslint详解

  3. vue+iview实现table和分页及与后台数据交互

    最近在项目中遇到使用table分页的功能,所以分享出来给大家希望能够对大家有帮助,话不多说直接上代码 <template> <div> <Table :columns=& ...

  4. angular面试记忆的内容

    1.ng-class的用法:ng-class="{red:true}"; 2.ng-repeat怎么可以添加重复数据.ng-repeat="item in arr tra ...

  5. linux服务器查看项目日志命令

    1.tailf mywork.log | grep --line-buffered findUserList      实时跟踪日志,这里是只要findUserList 这个方法被运行,就会将它的日志 ...

  6. vue轮播,vue-awesome-swiper动态数据渲染,loop无效,轮循无效

    解决办法:在渲染数组数据前.判断是否为空 v-if="slideList.length>1" <template> <div class="ban ...

  7. 海量日志采集Flume(HA)

    海量日志采集Flume(HA) 1.介绍: Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据 ...

  8. less和sass的定义和区别

    less是单独的一种文件,可以理解为css的升级版: sass是一个相对新的编程语言,为web前端开发而生,可以用它来定义一套新的语法规则和函数: 区别: ①   表现方式不同:less基于javas ...

  9. Go程序设计

    01 Go基础特性&独有特性

  10. 为你详解Linux安装GCC方法

    下载: http://ftp.gnu.org/gnu/gcc/gcc-4.5.1/gcc-4.5.1.tar.bz2浏览: http://ftp.gnu.org/gnu/gcc/gcc-4.5.1/查 ...