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调用WebService的示例
Apr 07 Javascript
JavaScript 原型继承
Dec 26 Javascript
精心挑选的15个jQuery下拉菜单制作教程
Jun 15 Javascript
angularjs 处理多个异步请求方法汇总
Jan 06 Javascript
实现点击下箭头变上箭头来回切换的两种方法【推荐】
Dec 14 Javascript
html+javascript+bootstrap实现层级多选框全层全选和多选功能
Mar 09 Javascript
详解Vue-基本标签和自定义控件
Mar 24 Javascript
Vue实现双向数据绑定
May 03 Javascript
webpack4的迁移的使用方法
May 25 Javascript
jQuery实现鼠标移入移出事件切换功能示例
Sep 06 jQuery
vue实现的请求服务器端API接口示例
May 25 Javascript
vue项目中锚点定位替代方式
Nov 13 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
深入了解php4(1)--回到未来
2006/10/09 PHP
cache_lite试用
2007/02/14 PHP
深入理解require与require_once与include以及include_once的区别
2013/06/05 PHP
PHP魔术引号所带来的安全问题分析
2014/07/15 PHP
基于php实现七牛抓取远程图片
2015/12/01 PHP
php面向对象程序设计入门教程
2019/06/22 PHP
JS获得QQ号码的昵称,头像,生日的简单实例
2013/12/04 Javascript
利用浏览器全屏api实现js全屏
2014/01/16 Javascript
无刷新预览所选择的图片示例代码
2014/04/02 Javascript
超级简单的jquery操作表格方法
2014/12/15 Javascript
js方法数据验证的简单实例
2016/09/17 Javascript
简单谈谈关于Angular Cli打包的事
2017/09/05 Javascript
jquery自定义显示消息数量
2017/12/19 jQuery
JS实现基于拖拽改变物体大小的方法
2018/01/23 Javascript
vue3.0 搭建项目总结(详细步骤)
2019/05/20 Javascript
小程序怎样让wx.navigateBack更好用的方法实现
2019/11/01 Javascript
vue 导航内容设置选中状态样式的例子
2019/11/01 Javascript
vue将文件/图片批量打包下载zip的教程
2020/10/21 Javascript
python基础教程之python消息摘要算法使用示例
2014/02/10 Python
Python中的XML库4Suite Server的介绍
2015/04/14 Python
在GitHub Pages上使用Pelican搭建博客的教程
2015/04/25 Python
python使用post提交数据到远程url的方法
2015/04/29 Python
python itchat实现微信自动回复的示例代码
2017/08/14 Python
python实现决策树、随机森林的简单原理
2018/03/26 Python
Python使用win32 COM实现Excel的写入与保存功能示例
2018/05/03 Python
Python分析最近大火的网剧《隐秘的角落》
2020/07/02 Python
如何通过Python实现RabbitMQ延迟队列
2020/11/28 Python
python 实现简易的记事本
2020/11/30 Python
python使用scapy模块实现ping扫描的过程详解
2021/01/21 Python
HTML5 script元素async、defer异步加载使用介绍
2013/08/23 HTML / CSS
美国一家著名的儿童鞋制造商:Stride Rite
2017/01/02 全球购物
Tenstickers法国:墙贴和装饰贴纸
2019/08/26 全球购物
清洁工表扬信
2014/01/08 职场文书
作风转变心得体会
2014/09/02 职场文书
乡镇干部个人对照检查材料思想汇报
2014/10/04 职场文书
一文搞懂Python Sklearn库使用
2021/08/23 Python