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 相关文章推荐
JQuery 动态扩展对象之另类视角
May 25 Javascript
js 处理URL实用技巧
Nov 23 Javascript
Bootstrap树形组件jqTree的简单封装
Jan 25 Javascript
Jquery组件easyUi实现表单验证示例
Aug 23 Javascript
微信小程序 devtool隐藏的秘密
Jan 21 Javascript
手写Node静态资源服务器的实现方法
Mar 20 Javascript
mocha的时序规则讲解
Feb 16 Javascript
Vue.js实现可排序的表格组件功能示例
Feb 19 Javascript
vue中的 $slot 获取插槽的节点实例
Nov 12 Javascript
vue 解除鼠标的监听事件的方法
Nov 13 Javascript
Node.js API详解之 string_decoder用法实例分析
Apr 29 Javascript
node.js文件的复制、创建文件夹等相关操作
Feb 05 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 is_file()和is_dir()用于遍历目录时用法注意事项
2010/03/02 PHP
ThinkPHP有变量的where条件分页实例
2014/11/03 PHP
Chrome中JSON.parse的特殊实现
2011/01/12 Javascript
通过Jscript中@cc_on 语句识别IE浏览器及版本的代码
2011/05/07 Javascript
onmouseover和onmouseout的一些问题思考
2013/08/14 Javascript
javascript元素动态创建实现方法
2015/05/13 Javascript
javascript实现跨域的方法汇总
2015/06/25 Javascript
JavaScript高级教程5.6之基本包装类型(详细)
2015/11/23 Javascript
jQuery实现的多张图无缝滚动效果【测试可用】
2016/09/12 Javascript
bootstrap fileinput完整实例分享
2016/11/08 Javascript
第一次接触神奇的前端框架vue.js
2016/12/01 Javascript
JS中对数组元素进行增删改移的方法总结
2016/12/15 Javascript
jQuery实现鼠标经过显示动画边框特效
2017/03/24 jQuery
nodejs基于mssql模块连接sqlserver数据库的简单封装操作示例
2018/01/05 NodeJs
vue自定义正在加载动画的例子
2019/11/14 Javascript
详解node.js 事件循环
2020/07/22 Javascript
[01:21]2018DOTA2亚洲邀请赛4.5采访 打DOTA2也能有女朋友?
2018/04/06 DOTA
Python实现将n个点均匀地分布在球面上的方法
2015/03/12 Python
python监测当前联网状态并连接的实例
2018/12/18 Python
Python 隐藏输入密码时屏幕回显的实例
2019/02/19 Python
python 搜索大文件的实例代码
2019/07/08 Python
Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)
2020/07/20 Python
Python通过Schema实现数据验证方式
2020/11/12 Python
css3 伪类选择器快速复习小结
2019/09/10 HTML / CSS
html5实现滑块功能之type=&quot;range&quot;属性
2020/02/18 HTML / CSS
草莓网化妆品澳大利亚站:Strawberrynet AU
2017/12/18 全球购物
C#如何允许一个类被继承但是避免这个类的方法被重载?
2015/02/24 面试题
一份软件工程师的面试试题
2016/02/01 面试题
租赁协议书范本
2014/04/22 职场文书
科学发展观演讲稿
2014/09/11 职场文书
教师党的群众路线对照检查材料
2014/09/24 职场文书
县政府班子个人对照检查材料
2014/10/05 职场文书
诗词赏析-(浣溪沙)
2019/08/13 职场文书
pytorch 中autograd.grad()函数的用法说明
2021/05/12 Python
MySQL 使用自定义变量进行查询优化
2021/05/14 MySQL
Python读写yaml文件
2022/03/20 Python