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中清空数组的三种方法分享
Apr 07 Javascript
jQuery操作基本控件方法实例分析
Dec 31 Javascript
jquery获取复选框的值的简单实例
May 26 Javascript
JavaScript中apply方法的应用技巧小结
Sep 29 Javascript
Angularjs中ng-repeat-start与ng-repeat-end的用法实例介绍
Dec 31 Javascript
WebStorm ES6 语法支持设置&amp;babel使用及自动编译(详解)
Sep 08 Javascript
如何从零开始利用js手写一个Promise库详解
Apr 19 Javascript
js实现for循环跳过undefined值示例
Jul 02 Javascript
vue.js 2.0实现简单分页效果
Jul 29 Javascript
VUE项目axios请求头更改Content-Type操作
Jul 24 Javascript
Javascript实现关闭广告效果
Jan 29 Javascript
JavaScript仿京东轮播图效果
Feb 25 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+ajax实现文章自动保存的方法
2014/12/30 PHP
php清除和销毁session的方法分析
2015/03/19 PHP
thinkPHP中分页用法实例分析
2015/12/26 PHP
PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
2017/06/07 PHP
thinkPHP微信分享接口JSSDK用法实例
2017/07/07 PHP
PHP+MySql实现一个简单的留言板
2020/07/19 PHP
node.js chat程序如何实现Ajax long-polling长链接刷新模式
2012/03/13 Javascript
js中replace的用法总结
2013/12/27 Javascript
JavaScript利用正则表达式去除日期中的“-”
2014/07/01 Javascript
SeaJS 与 RequireJS 的差异对比
2014/12/08 Javascript
使用jquery.qrcode.min.js实现中文转化二维码
2016/03/11 Javascript
javascript实现获取图片大小及图片等比缩放的方法
2016/11/24 Javascript
原生js轮播特效
2017/05/18 Javascript
Node 自动化部署的方法
2017/10/17 Javascript
分析JavaScript数组操作难点
2017/12/18 Javascript
vue-cli2.x项目优化之引入本地静态库文件的方法
2018/06/19 Javascript
JQuery插件tablesorter表格排序实现过程解析
2020/05/28 jQuery
通过vue刷新左侧菜单栏操作
2020/08/06 Javascript
python selenium执行所有测试用例并生成报告的方法
2019/02/13 Python
深入解析Python小白学习【操作列表】
2019/03/23 Python
详解Python3 基本数据类型
2019/04/19 Python
python替换字符串中的子串图文步骤
2019/06/19 Python
Python安装selenium包详细过程
2019/07/23 Python
python读取大文件越来越慢的原因与解决
2019/08/08 Python
详解python 破解网站反爬虫的两种简单方法
2020/02/09 Python
python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例
2020/02/28 Python
临床医学大学生求职信
2013/09/28 职场文书
大学生自我鉴定范文
2013/12/28 职场文书
2014端午节活动策划方案
2014/01/27 职场文书
优秀的个人求职信范文
2014/05/09 职场文书
大学社团招新的通讯稿
2014/09/10 职场文书
大学生考试作弊检讨书1000字
2014/10/14 职场文书
中学政教处工作总结
2015/08/13 职场文书
pytorch 实现变分自动编码器的操作
2021/05/24 Python
pytorch Dropout过拟合的操作
2021/05/27 Python
Oracle中日期的使用方法实例
2022/07/07 Oracle