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 相关文章推荐
JavaScript Date对象使用总结
May 14 Javascript
Javascript 键盘keyCode键码值表
Dec 24 Javascript
js实现收缩菜单效果实例代码
Oct 30 Javascript
javascript实现全局匹配并替换的方法
Apr 27 Javascript
微信JS接口大全
Aug 25 Javascript
jquery仿京东商品放大浏览页面
Jun 06 jQuery
QRCode.js:基于JQuery的生成二维码JS库的使用
Jun 23 jQuery
JS 实现百度搜索功能
Feb 01 Javascript
jQuery滚动条美化插件nicescroll简单用法示例
Apr 18 jQuery
浅谈Vue中render中的h箭头函数
Nov 07 Javascript
解决Layui 表格自适应高度的问题
Nov 15 Javascript
jQuery实现的移动端图片缩放功能组件示例
May 01 jQuery
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
Amazon Prime Video平台《无限住人 -IMMORTAL-》2020年开始TV放送!
2020/03/06 日漫
PHP 加密/解密函数 dencrypt(动态密文,带压缩功能,支持中文)
2009/01/30 PHP
PHP如何实现Unicode和Utf-8编码相互转换
2015/07/29 PHP
php有效防止同一用户多次登录
2015/11/19 PHP
Thinkphp结合ajaxFileUpload实现异步图片传输示例
2017/03/13 PHP
PHP常用算法和数据结构示例(必看篇)
2017/03/15 PHP
PHP简单实现解析xml为数组的方法
2018/05/02 PHP
jQuery UI-Draggable 参数集合
2010/01/10 Javascript
jsonp跨域请求数据实现手机号码查询实例分析
2015/12/12 Javascript
nodejs基础应用
2017/02/03 NodeJs
详解Angular调试技巧之报错404(not found)
2018/01/31 Javascript
浅谈Vue下使用百度地图的简易方法
2018/03/23 Javascript
vue+element搭建后台小总结 el-dropdown下拉功能
2020/04/10 Javascript
vue element-ul实现展开和收起功能的实例代码
2020/11/25 Vue.js
Python通过websocket与js客户端通信示例分析
2014/06/25 Python
Python3读取UTF-8文件及统计文件行数的方法
2015/05/22 Python
python从入门到精通(DAY 1)
2015/12/20 Python
python 写的一个爬虫程序源码
2016/02/28 Python
python中map()函数的使用方法示例
2017/09/29 Python
Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法
2018/02/18 Python
python+selenium打印当前页面的titl和url方法
2018/06/22 Python
PyQt弹出式对话框的常用方法及标准按钮类型
2019/02/27 Python
详解Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)
2019/05/27 Python
用Python爬取QQ音乐评论并制成词云图的实例
2019/08/24 Python
python隐藏类中属性的3种实现方法
2019/12/19 Python
三个python爬虫项目实例代码
2019/12/28 Python
利用Tensorboard绘制网络识别准确率和loss曲线实例
2020/02/15 Python
关于tf.matmul() 和tf.multiply() 的区别说明
2020/06/18 Python
.net笔试题
2014/03/03 面试题
大学校园生活自我鉴定
2014/01/13 职场文书
幼儿园小班植树节活动方案
2014/03/04 职场文书
环保志愿者活动方案
2014/08/14 职场文书
应聘教师求职信范文
2015/03/20 职场文书
上课迟到检讨书
2015/05/06 职场文书
学校学期工作总结
2015/08/13 职场文书
小学生作文写作技巧100例,非常实用!
2019/07/08 职场文书