Vue.js 表单校验插件
vuerify 是一个简单轻量的数据校验插件。内置基础的校验规则和错误提示。可自定义规则,规则类型支持正则、函数或者字符串。校验规则可全局注册也可以组件内注册。插件会给 vm 添加 $vuerify 对象,同时 watch 数据并校验合法性,如果有错误会存入 vm.$vuerify.$errors。
安装
npm i vuerify -s
使用
安装插件
import vue from 'vue' import vuerify from 'vuerify' vue.use(vuerify, /* 添加自定义规则 */)
添加自定义规则
test 可以是正则或者函数
{ required: { test: /\s+$/, message: '必填项' } }
组件内注册
{ data () { username: '', password: '' }, vuerify: { username: { test: /\w{4,}/, // 自定义规则,可以是函数,正则或者全局注册的规则(填字符串) message: '至少 4 位字符' }, password: 'required' // 使用全局注册的规则 } }
api
$vuerify 包含如下属性
name description type default value
$errors 数据校验失败的错误信息, 例如 username 校验失败会返回 { username: '至少 4 位字符' } object {}
invalid 存在校验失败的字段 boolean true
valid 不存在校验失败的字段 boolean false
check 检查指定字段,传入数组,返回 boolean function(array) -
clear 清空错误列表 function -
v-vuerify
该指令可以在表单组件触发 blur 事件时验证数据并为组件设置类名(默认为 .vuerify-invalid)。可以是 input 等原生组件,也可以是自己封装过的组件。提供两个版本
安装
# vue 1.x npm v-vuerify -s # vue 2.0 npm v-vuerify-next -s
用法
import vue from 'vue' import vuerifydirective from 'v-vuerify' // vue1.x import vuerifydirective from 'v-vuerify-next' // vue2.0 vue.use(vuerifydirective) <input v-model="username" v-vuerify="'username'"> <x-input :value.sync="password" v-vuerify="'password'"></x-input>
params
verifyinvalidclass
默认类名为 vuerify-invalid
<input v-model="username" v-vuerify="'username'" vuerify-invalid-class="error">
modifiers
parent
如果 vuerify 是在父组件注册的,那么就需要指定 parent,让指令可以从父组件获取对应的 $vuerify,具体看 demo
events
vuerify-invalid
vuerify-valid