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 hover事件实现表格的隔行换色功能示例
Sep 03 Javascript
动态加载脚本提升javascript性能
Feb 24 Javascript
jquery实现简单文字提示效果
Dec 02 Javascript
Extjs4.0 ComboBox如何实现三级联动
May 11 Javascript
node.js中 stream使用教程
Aug 28 Javascript
基本DOM节点操作
Jan 17 Javascript
微信小程序 参数传递实例代码
Mar 20 Javascript
JavaScript通过filereader接口读取文件
May 10 Javascript
薪资那么高的Web前端必看书单
Oct 13 Javascript
react实现一个优雅的图片占位模块组件详解
Oct 30 Javascript
Vue.js递归组件实现组织架构树和选人功能
Jul 04 Javascript
vue输入框使用模糊搜索功能的实现代码
May 26 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 XML操作类DOMDocument
2009/12/16 PHP
深入理解PHP中的Session和Cookie
2013/06/21 PHP
PHP实现根据浏览器跳转不同语言页面代码
2013/08/02 PHP
小谈php正则提取图片地址
2014/03/27 PHP
PHP7 echo和print语句实例用法
2019/02/15 PHP
php框架知识点的整理和补充
2021/03/01 PHP
jQuery中filter(),not(),split()使用方法
2010/07/06 Javascript
JS 控制小数位数的实现代码
2011/08/02 Javascript
关于JS中的闭包浅谈
2013/08/23 Javascript
node.js中的fs.ftruncate方法使用说明
2014/12/15 Javascript
JavaScript实现下拉列表框数据增加、删除、上下排序的方法
2015/08/11 Javascript
javascript 小数乘法结果错误的处理方法
2016/07/28 Javascript
jQuery实现ajax的叠加和停止(终止ajax请求)
2016/08/08 Javascript
基于bootstrap实现多个下拉框同时搜索功能
2017/07/19 Javascript
详解vue-cli 快速搭建单页应用之遇到的问题及解决办法
2018/03/01 Javascript
React组件内事件传参实现tab切换的示例代码
2018/07/04 Javascript
详解jQuery如何实现模糊搜索
2019/05/10 jQuery
微信小程序 wx.getUserInfo引导用户授权问题实例分析
2020/03/09 Javascript
Python 使用PyQt5 完成选择文件或目录的对话框方法
2019/06/27 Python
Python3安装pip工具的详细步骤
2019/10/14 Python
python列表推导和生成器表达式知识点总结
2020/01/10 Python
ghd官网:英国ghd直发器品牌
2018/05/04 全球购物
Laura Geller官网:美国彩妆品牌
2018/12/29 全球购物
财务部岗位职责
2013/11/19 职场文书
仓库管理专业个人的自我评价
2013/12/30 职场文书
2013年学期结束动员演讲稿
2014/01/07 职场文书
内勤主管岗位职责
2014/04/03 职场文书
劳动仲裁撤诉申请书
2015/05/18 职场文书
公司人事管理制度
2015/08/05 职场文书
调解协议书范本
2016/03/21 职场文书
小学毕业教师寄语
2019/06/21 职场文书
css背景和边框标签实例详解
2021/05/21 HTML / CSS
解决Vue+SpringBoot+Shiro跨域问题
2021/06/09 Vue.js
Win10 最新稳定版本 21H2开始推送
2022/04/19 数码科技
Java 多线程协作作业之信号同步
2022/05/11 Java/Android
LeetCode189轮转数组python示例
2022/08/05 Python