Github: https://github.com/QingWei-Li/vuerify
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