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 相关文章推荐
按下回车键指向下一个位置的一个函数代码
Mar 10 Javascript
Node.js中安全调用系统命令的方法(避免注入安全漏洞)
Dec 05 Javascript
node.js中的require使用详解
Dec 15 Javascript
整理Javascript流程控制语句学习笔记
Nov 29 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
Mar 29 Javascript
Jquery判断form表单数据是否变化
Mar 30 Javascript
angular1配合gulp和bower的使用教程
Jan 19 Javascript
koa-router源码学习小结
Sep 07 Javascript
Vue通过ref父子组件拿值方法
Sep 12 Javascript
js数组相减简单示例【删除a数组所有与b数组相同元素】
Mar 04 Javascript
Vue脚手架编写试卷页面功能
Mar 17 Javascript
js实现鼠标滑动到某个div禁止滚动
Sep 17 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开发中四种查询返回结果分析
2011/01/02 PHP
无法载入 mcrypt 扩展,请检查 PHP 配置终极解决方案
2011/07/18 PHP
ThinkPHP3.1.2 使用cli命令行模式运行的方法
2020/04/14 PHP
javascript中的关于类型转换的性能优化
2010/12/14 Javascript
jquery isEmptyObject判断是否为空对象的函数
2011/02/14 Javascript
jquery中获取select选中值的代码
2011/06/27 Javascript
深入理解JavaScript系列(13) This? Yes,this!
2012/01/18 Javascript
javascript淡入淡出效果的实现思路
2012/03/31 Javascript
谈谈JavaScript中的函数与闭包
2013/04/14 Javascript
用jquery模仿的a的title属性的例子
2014/10/22 Javascript
阿里巴巴技术文章分享 Javascript继承机制的实现
2016/01/14 Javascript
AngularJS 工作原理详解
2016/08/18 Javascript
JavaScript注入漏洞的原理及防范(详解)
2016/12/04 Javascript
解析JavaScript数组方法reduce
2016/12/12 Javascript
bootstrap表格分页实例讲解
2016/12/30 Javascript
轻松实现jQuery添加删除按钮Click事件
2017/03/13 Javascript
JS/jquery实现一个网页内同时调用多个倒计时的方法
2017/04/27 jQuery
JS实现微信摇一摇原理解析
2017/07/22 Javascript
JS使用tofixed与round处理数据四舍五入的区别
2017/10/25 Javascript
微信小程序-getUserInfo回调的实例详解
2017/10/27 Javascript
[04:16]DOTA2全国高校联赛16强抽签
2018/05/02 DOTA
Python使用正则表达式实现文本替换的方法
2017/04/18 Python
python代码过长的换行方法
2018/07/19 Python
python实现宿舍管理系统
2019/11/22 Python
Python numpy矩阵处理运算工具用法汇总
2020/07/13 Python
python代码实现猜拳小游戏
2020/11/30 Python
整理HTML5移动端开发的常用触摸事件
2016/04/15 HTML / CSS
Schutz鞋官方网站:Schutz Shoes
2017/12/13 全球购物
用JAVA实现一种排序,JAVA类实现序列化的方法(二种)
2014/04/23 面试题
工程安全生产协议书
2014/11/21 职场文书
CAD实训总结范文
2015/08/03 职场文书
幼儿园安全教育随笔
2015/08/14 职场文书
幼儿园音乐教学反思
2016/02/18 职场文书
go语言中fallthrough的用法说明
2021/05/06 Golang
基于Golang 高并发问题的解决方案
2021/05/08 Golang
DE1107机评
2022/04/05 无线电