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 相关文章推荐
BOM与DOM的区别分析
Oct 26 Javascript
IE6浏览器下resize事件被执行了多次解决方法
Dec 11 Javascript
jquery实现每个数字上都带进度条的幻灯片
Feb 20 Javascript
提交表单时执行func方法实现代码
Mar 17 Javascript
js实现数组去重、判断数组以及对象中的内容是否相同
Nov 29 Javascript
jquery中JSON的解析方式
Mar 16 Javascript
深入理解JavaScript单体内置对象
Jun 06 Javascript
js实现下一页页码效果
Mar 07 Javascript
微信小程序 五星评价功能的实现
Mar 09 Javascript
H5手机端多文件上传预览插件
Apr 21 Javascript
ES6中let 和 const 的新特性
Sep 03 Javascript
原生js实现淘宝放大镜效果
Oct 28 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计算年龄精准到年月日
2015/11/17 PHP
几行代码轻松实现PHP文件打包下载zip
2017/03/01 PHP
php+Ajax无刷新验证用户名操作实例详解
2019/03/04 PHP
jquery复选框checkbox实现删除前判断
2014/04/20 Javascript
基于jQuery的图片不完全按比例自动缩小
2014/07/11 Javascript
ANGULARJS中用NG-BIND指令实现单向绑定的例子
2014/12/08 Javascript
js闭包实现按秒计数
2015/04/23 Javascript
JavaScript实现点击按钮切换网页背景色的方法
2015/10/17 Javascript
AngularJS表格样式简单设置方法示例
2017/03/03 Javascript
node.js(express)中使用Jcrop进行图片剪切上传功能
2017/04/21 Javascript
Kindeditor单独调用单图上传增加预览功能的实例
2017/07/31 Javascript
javascript 中事件冒泡和事件捕获机制的详解
2017/09/01 Javascript
vue编译打包本地查看index文件的方法
2018/02/23 Javascript
node puppeteer(headless chrome)实现网站登录
2018/05/09 Javascript
Vue列表循环从指定下标开始的多种解决方案
2020/04/08 Javascript
Python日期时间Time模块实例详解
2019/04/15 Python
python分数表示方式和写法
2019/06/26 Python
Django用户认证系统 组与权限解析
2019/08/02 Python
python求加权平均值的实例(附纯python写法)
2019/08/22 Python
pygame实现打字游戏
2021/02/19 Python
python列表删除和多重循环退出原理详解
2020/03/26 Python
浅谈JupyterNotebook导出pdf解决中文的问题
2020/04/22 Python
DRF框架API版本管理实现方法解析
2020/08/21 Python
Python自动登录QQ的实现示例
2020/08/28 Python
类、抽象类、接口的差异
2016/06/13 面试题
c/c++某大公司的两道笔试题
2014/02/02 面试题
元旦联欢会策划方案
2014/06/11 职场文书
应届大专生求职信
2014/06/26 职场文书
优秀共青团员事迹材料
2014/12/25 职场文书
平遥古城导游词
2015/02/03 职场文书
舌尖上的中国观后感
2015/06/02 职场文书
信息简报范文
2015/07/21 职场文书
教师学习十八届五中全会精神心得体会
2016/01/05 职场文书
教师理论学习心得体会
2016/01/21 职场文书
纪检干部学习心得体会
2016/01/23 职场文书
Python编程源码报错解决方法总结经验分享
2021/10/05 Python