Vue.js 表单校验插件
投稿:hebedich
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
Github: https://github.com/QingWei-Li/vuerify