Vue.js 表单校验插件


Posted in Javascript onAugust 14, 2016

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

Javascript 相关文章推荐
如何简单地用YUI做JavaScript动画
Mar 10 Javascript
利用javascript实现一些常用软件的下载导航
Aug 03 Javascript
同一个表单 根据要求递交到不同页面的实现方法小结
Aug 05 Javascript
js模仿jquery的写法示例代码
Jun 16 Javascript
js常用数组操作方法简明总结
Jun 20 Javascript
jQuery简单实现title提示效果示例
Aug 01 Javascript
动态生成的DOM不会触发onclick事件的原因及解决方法
Aug 06 Javascript
vue.js中指令Directives详解
Mar 20 Javascript
Vue中封装input组件的实例详解
Oct 17 Javascript
select2 ajax 设置默认值,初始值的方法
Aug 09 Javascript
了解重排与重绘
May 29 Javascript
通过JS深度判断两个对象字段相同
Jun 14 Javascript
Vue.js学习笔记之 helloworld
Aug 14 #Javascript
详解Node.js如何开发命令行工具
Aug 14 #Javascript
javascript中的 object 和 function小结
Aug 14 #Javascript
JavaScript兼容浏览器FF/IE技巧
Aug 14 #Javascript
关于JavaScript限制字数的输入框的那些事
Aug 14 #Javascript
使用ajaxfileupload.js实现上传文件功能
Aug 13 #Javascript
几种二级联动案例(jQuery\Array\Ajax php)
Aug 13 #Javascript
You might like
php获取淘宝分类id示例
2014/01/16 PHP
php数组中包含中文的排序方法
2014/06/03 PHP
PHP获取文件行数的方法
2015/06/10 PHP
详解PHP队列的实现
2019/03/14 PHP
在html页面中包含共享页面的方法
2008/10/24 Javascript
模仿jQuery each函数的链式调用
2009/07/22 Javascript
JS数学函数Exp使用说明
2012/08/09 Javascript
JavaScript:new 一个函数和直接调用函数的区别分析
2013/07/10 Javascript
JS判断不能为空实例代码
2013/11/26 Javascript
20条学习javascript的编程规范的建议
2014/11/28 Javascript
使用jQuery管理选择结果
2015/01/20 Javascript
使用AngularJS中的SCE来防止XSS攻击的方法
2015/06/18 Javascript
如何提高数据访问速度
2016/12/26 Javascript
Webpack如何引入bootstrap的方法
2017/06/17 Javascript
在Vue中使用echarts的实例代码(3种图)
2017/07/10 Javascript
JavaScript中正则表达式判断匹配规则及常用方法
2017/08/03 Javascript
JavaScript动态绑定详解
2017/09/14 Javascript
vue二级路由设置方法
2018/02/09 Javascript
Layui数据表格之单元格编辑方式
2019/10/26 Javascript
[07:08]2014DOTA2西雅图国际邀请赛 小组赛7月11日TOPPLAY
2014/07/11 DOTA
简单介绍Python下自己编写web框架的一些要点
2015/04/29 Python
python实现校园网自动登录的示例讲解
2018/04/22 Python
利用pyecharts实现地图可视化的例子
2019/08/12 Python
python numpy生成等差数列、等比数列的实例
2020/02/25 Python
解决django的template中如果无法引用MEDIA_URL问题
2020/04/07 Python
为什么说python更适合树莓派编程
2020/07/20 Python
python opencv实现图像配准与比较
2021/02/09 Python
游戏商店:Eneba
2020/04/25 全球购物
政府门卫岗位职责
2014/04/29 职场文书
毕业大学生自荐信
2014/06/17 职场文书
感恩祖国演讲稿
2014/09/09 职场文书
2014年村计划生育工作总结
2014/11/14 职场文书
2014年房地产个人工作总结
2014/12/20 职场文书
委托书格式要求
2015/01/28 职场文书
校运会通讯稿
2015/07/18 职场文书
Python socket如何解析HTTP请求内容
2022/02/12 Python