vue-validator(vue验证器)

官方文档:http://vuejs.github.io/vue-validator/zh-cn/index.html

github项目地址:https://github.com/vuejs/vue-validator

单独使用vue-validator的方法见官方文档,本文结合vue-router使用。

安装验证器

不添加自定义验证器或者无需全局使用的公用验证器,在main.js中安装验证器,使用 CommonJS 模块规范, 需要显式的使用 Vue.use() 安装验证器组件。

import Validator from ‘vue-validator’
Vue.use(Validator)
与 vue-router 同时使用,必须在调用 router#map, router#start 等实例方法前安装验证。

若要自定义验证器,建一个js文件,在该文件中安装验证器组件。例如:validation.js

import Vue from ‘vue’
import Validator from ‘vue-validator’
Vue.use(Validator)
//自定义验证器
自定义验证器

官方提供的api如下

复制代码
input[type=“text”]
input[type=“radio”]
input[type=“checkbox”]
input[type=“number”]
input[type=“password”]
input[type=“email”]
input[type=“tel”]
input[type=“url”]
select
textarea
复制代码
但是以上的不一定满足我们的需求,这时就需要用到另一个全局api,用于注册和获取全局验证器。

Vue.validator( id, [definition] )
示例 定义validation.js 内容如下

复制代码
import Vue from ‘vue’
import Validator from ‘vue-validator’
Vue.use(Validator)
//自定义验证器
//添加一个简单的手机号验证
//匹配0-9之间的数字,并且长度是11位
Vue.validator(‘tel’, function (val) {
return /1{11}KaTeX parse error: Expected 'EOF', got '}' at position 13: /.test(val) }̲); //添加一个密码验证 /…/.test(val)
});
复制代码
使用验证器

验证器语法

复制代码



不得少于3个字符
不得大于15个字符


复制代码
默认情况下,vue-validator 会根据 validator 和 v-validate 指令自动进行验证。然而有时候我们需要关闭自动验证,在有需要时手动触发验证。如果你不需要自动验证,可以通过 initial 属性或 v-validate 验证规则来关闭自动验证。如下:

复制代码



不得少于3个字符
不得大于15个字符


复制代码
Terminal 指令问题

复制代码


<input @invalid=“passwInvalid” @valid=“passwok” type=“password” v-model=‘passw’ id=‘passw’ v-validate:passw="[‘passw’]" detect-change=“off” initial=‘off’ placeholder=‘请输入密码’>
<input @invalid=“passwInvalid” @valid=“passwok” type=“password” v-model=‘passw2’ id=‘passw2’ v-validate:passw2="[‘passw’]" detect-change=“off” initial=‘off’ placeholder=‘请输入密码’>

复制代码
示例:用户注册验证

用了一个组件来显示提示信息

toast.vue

复制代码


{{toasttext}}

复制代码
注册用户:假如我们需要填写手机号和输入两次密码

复制代码



复制代码
若点击下一步,会提示“请完善表单”,因为验证不通过;若是文本框获得焦点后失去焦点则会提示相应的错误信息;若内容填写正确,则会提示验证通过并发送相应的请求。

效果如图


  1. 0-9 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值