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 相关文章推荐
JS 自定义带默认值的函数
Jul 21 Javascript
js nextSibling属性和previousSibling属性概述及使用注意
Feb 16 Javascript
jQuery之折叠面板的深入解析
Jun 19 Javascript
js中各种类型的变量在if条件中是true还是false
Jul 16 Javascript
使用script的src实现跨域和类似ajax效果
Nov 10 Javascript
jQuery入门介绍之基础知识
Jan 13 Javascript
jquery+ajax请求且带返回值的代码
Aug 12 Javascript
QQ登录背景闪动效果附效果演示源码下载
Sep 22 Javascript
BootStrap轻松实现微信页面开发代码分享
Oct 21 Javascript
详解JavaScript 新语法之Class 的私有属性与私有方法
Apr 23 Javascript
深入了解响应式React Native Echarts组件
May 29 Javascript
vue更改数组中的值实例代码详解
Feb 07 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
再说下636单管机
2021/03/02 无线电
php下载远程文件类(支持断点续传)
2008/11/14 PHP
PHP iconv 解决utf-8和gb2312编码转换问题
2010/04/12 PHP
php结合js实现点击超链接执行删除确认操作
2014/10/31 PHP
PHP生成各种常见验证码和Ajax验证过程
2016/01/10 PHP
php生成图片验证码的方法
2016/04/15 PHP
PHP常用日期加减计算方法实例小结
2018/07/31 PHP
jquery的Theme和Theme Switcher使用小结
2010/09/08 Javascript
javascript利用初始化数据装配模版的实现代码
2010/11/17 Javascript
基于jQuery的图片左右无缝滚动插件
2012/05/23 Javascript
运用jQuery定时器的原理实现banner图片切换
2014/10/22 Javascript
javascript获取重复次数最多的字符
2015/07/08 Javascript
简单实现bootstrap选项卡效果
2017/02/08 Javascript
微信小程序 页面滑动事件的实例详解
2017/10/12 Javascript
基于jQuery实现的设置文本区域的光标位置
2018/06/15 jQuery
微信小程序顶部导航栏滑动tab效果
2019/01/28 Javascript
详解element-ui中form验证杂记
2019/03/04 Javascript
layer 关闭指定弹出层的例子
2019/09/25 Javascript
JS+html5实现异步上传图片显示上传文件进度条功能示例
2019/11/09 Javascript
Vue的transition-group与Virtual Dom Diff算法的使用
2019/12/09 Javascript
vue实现瀑布流组件滑动加载更多
2020/03/10 Javascript
[01:00] DOTA2英雄背景故事第五期之重力引力法则谜团
2020/07/16 DOTA
Python面向对象编程中关于类和方法的学习笔记
2016/06/30 Python
Python 装饰器实现DRY(不重复代码)原则
2018/03/05 Python
tensor和numpy的互相转换的实现示例
2019/08/02 Python
keras slice layer 层实现方式
2020/06/11 Python
详解Django中views数据查询使用locals()函数进行优化
2020/08/24 Python
国际旅客访问北美最大的汽车租赁提供商:Alamo Rent A Car
2018/06/13 全球购物
Nike比利时官网:Nike.com (BE)
2019/02/07 全球购物
英国最大的宠物商店:Pets at Home
2019/04/17 全球购物
优秀学生干部先进事迹材料
2014/05/26 职场文书
个人融资协议书范本两则
2014/10/15 职场文书
办公室务虚会发言材料
2014/10/20 职场文书
毕业论文指导教师评语
2014/12/30 职场文书
结婚喜宴迎宾词
2015/08/10 职场文书
2020年元旦晚会策划书模板
2019/12/30 职场文书