验证规则:https://baianat.github.io/vee-validate/guide/rules.html
教程文章
使用方式
首先安装
1 | npm install vee-validate --save |
使用 npm 安装,注入依赖。这边配置使用主要是3个文件:
- vee-validate.js :自己创建一个文件,单独将关于表单验证的代码抽离出来,从 node_modules 中引入 VeeValidate,配置相关项
- main.js :vue 主文件入口,引入validate.js
- form.vue :表单组件
main.js 引入
引入 vee-validate.js
文件,将相关配置独立在一个文件夹里
1 | import './utils/vee-validate.js' |
vee-validate.js 基本配置
先展示一个全部代码的示例
1 | import Vue from 'vue' |
引入
引入表单验证依赖文件
1 | import Vue from 'vue' |
配置中文版错误提示
1 | Vue.use(VueI18n) // 使用i18n国际化 |
自定义表单验证提示语
为了避免下面的场景
我们来自定义表单验证提示语
⭐:注意!除了这个办法还可以直接在组件中操作:具体看组件中使用
message
: 提示语attributes
: filed
1 | // 自定义validate |
扩展自定义的验证
扩展自定义的验证,比如这边自定义了电话的表单验证
···
1 | Validator.extend('mobile', { |
在组件中使用
比如:form.vue 组件中的代码
1 | <input v-model="name" v-validate="'required|min:3|alpha'" :class="{'input': true, 'is-danger': errors.has('name') }" type="text" name="name" placeholder="账户"> |
这是其中的一个 input 拿出来讲:
1、首先在 input 中你得有 name 属性。
2、v-validate 属性:管道形式进行过滤,验证条件。
3、span 就是错误提示 。
data-vv-as
为了避免下面的场景
我们可以加入data-vv-as
,比如:
1 | <input type="text" |
这样就会提示 data-vv-as
中定义的字段
data-vv-validate-on
规定具体的输入项在哪些事件上验证
1 | <input name="field" v-validate="'required'" data-vv-validate-on="change|blur"> |
一进入就验证
比如我们想达到:一开始进入的时候按钮是不可点的的效果
配置:v-validate.initial=""
1 | <input type="text" |
v-validate
1 | v-validate="'required|email'" |
一些示例:
1 | v-validate="'required|min:3|alpha'" |
错误提示
errors.has (‘email’) 判断 emai 字段值是否验证通过 email 内容指向 input 的 name 属性 必须设置成一样 这意味着要用该插件,input 上的 name 属性必须设置
errors.first ('field')
: 显示字段 field 的第一个出错信息errors.collect ('field')
: 显示字段 field 的所有出错信息(list)errors.has ('field')
: 判断 fileds 字段是否检验有误(true/false)erros.all ()
: 显示表单所有的出错信息(list)errors.any ()
: 判断表单是否有错误(true/false)
常用实例
校验两次输入的密码是否一致
1 | <div> |
失去焦点和改变时验证
1 | Vue.use(VeeValidate, { |
参考文章: