加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Vue表单验证插件Vue Validator使用方法详解

发布时间:2020-12-17 03:00:34 所属栏目:百科 来源:网络整理
导读:Vue-validator 是Vue的表单验证插件,供大家参考,具体内容如下 Vue版本: 1.0.24 Vue-validator版本: 2.1.3 基本使用 script src="//cdn.bootcss.com/vue/1.0.24/vue.js" type="text/javascript" charset="utf-8" script src="//cdn.bootcss.com/vue-valid

Vue-validator 是Vue的表单验证插件,供大家参考,具体内容如下

Vue版本: 1.0.24 Vue-validator版本: 2.1.3

基本使用

<script src="//cdn.bootcss.com/vue/1.0.24/vue.js" type="text/javascript" charset="utf-8">
<script src="//cdn.bootcss.com/vue-validator/2.1.3/vue-validator.js" type="text/javascript" charset="utf-8">

<script type="text/javascript">

new Vue({
el: '#app'
});

将要验证的表单包裹在validator自定义元素指令中,而在要验证的表单控件元素的 v-validate 属性上绑定相应的校验规则。

验证结果会保存在组建实例的 $validation 属性下。 $validation 是由 validator 元素和 name 属性和 $ 前缀组件

验证结果结构

校验结果由两部分组成。表单整体校验结果和单个字段校验结果。

验证器语法

v-validate 指令语法:

v-validate[:field]=”array literal | object literfal | binding”

校验字段名field

field用来标识校验字段,之后可以用该字段来引用校验结果

v-validate 指令用来定义校验规则,其值可以是数组字面量,对象字面量,组件实例数组属性名。

数组字面量

当校验器不需要额外参数时,可以使用数组字面量形式,如 required 校验器,只要出现就带I表该校验器所在元素是必填项。

Zip:

对象字面量

对象字面量语法适合需要额外参数的校验器。如限制输入长度的校验器 minlength,需要说明限制长度多少。

ID:

还可以用 对象字面量语法通过 rule 字段来自定义验证规则

ID:

实例数据属性

v-validate 的值可以是组建实例的数据属性。这样可以用来动态绑定校验规则。

ID:

<script src="//cdn.bootcss.com/vue/1.0.24/vue.js" type="text/javascript" charset="utf-8">
<script src="//cdn.bootcss.com/vue-validator/2.1.3/vue-validator.js" type="text/javascript" charset="utf-8">

<script type="text/javascript">

new Vue({
el: '#app',data: {
rules: {
required: true,maxlength: 16
}
}
});

内置校验规则

vue-validator 内置一些常用的验证规则:

  • required — 输入值不能为空
  • pattern — 必须匹配pattern表示的正则表达式
  • minlength — 输入值长度不能小于minlength表示的值
  • maxlength — 输入的值不能大于maxlength表示的值
  • min — 输入值不能小于min表示的值
  • max — 输入值不能大于max表示的值

与v-model同时使用

vue-validator会自动校验通过v-model动态设置的值。

message:

<script src="//cdn.bootcss.com/vue/1.0.24/vue.js" type="text/javascript" charset="utf-8">
<script src="//cdn.bootcss.com/vue-validator/2.1.3/vue-validator.js" type="text/javascript" charset="utf-8">

<script type="text/javascript">

var vm = new Vue({
el: '#app',data: {
msg: ''
}
});

setTimeout(function () {
vm.msg = 'hello world!';
},2000);

重置校验结果

通过在Vue组件实例上调用$resetValidation();方法来动态重置校验结果。

{{$validation | json}}

<script src="//cdn.bootcss.com/vue/1.0.24/vue.js" type="text/javascript" charset="utf-8">
<script src="//cdn.bootcss.com/vue-validator/2.1.3/vue-validator.js" type="text/javascript" charset="utf-8">

<script type="text/javascript">

new Vue({
el: '#app',methods: {
onReset: function () {
this.$resetValidation();
}
}
});

复选框checkbox

<div class="jb51code">
<pre class="brush:xhtml;">
<div id="app">
<validator name="validation">

调查

<legend>请选择水果</legend>
<input type="checkbox" id="apple" value="apple" v-validate:fruits="{
 required: { rule: true,message: requiredErrorMsg },minlength: { rule: 1,message: minlengthErrorMsg },maxlength: { rule: 2,message: maxlengthErrorMsg }
 }" />

<label for="apple"&gt;Apple</label>
<input type="checkbox" id="orange" value="orange" v-validate:fruits />
<label for="orange"&gt;Orange</label>
<input type="checkbox" id="grape" value="grape" v-validate:fruits />
<label for="grape"&gt;Grape</label>
<input type="checkbox" id="banana" value="banana" v-validate:fruits />
<label for="banana"&gt;Banana</label>

<ul class="errors"&gt;
 <li v-for="msg in $validation.fruits"&gt;
  <p>{{msg | json}}</p>
 </li>
</ul>

<script src="//cdn.bootcss.com/vue/1.0.24/vue.js" type="text/javascript" charset="utf-8">
<script src="//cdn.bootcss.com/vue-validator/2.1.3/vue-validator.js" type="text/javascript" charset="utf-8">

<script type="text/javascript">

new Vue({
el: '#app',computed: {
requiredErrorMsg: function () {
return '请选择水果';
},minlengthErrorMsg: function () {
return '请选择至少1个水果!';
},maxlengthErrorMsg: function () {
return '请选择最多2个水果!';
}
}
});

下拉类表select

<validator name="validation">

<script src="//cdn.bootcss.com/vue/1.0.24/vue.js" type="text/javascript" charset="utf-8">
<script src="//cdn.bootcss.com/vue-validator/2.1.3/vue-validator.js" type="text/javascript" charset="utf-8">

<script type="text/javascript">

new Vue({
el: '#app'
});

校验状态class

各校验状态都有其对应的class(默认) 也可以自定义校验状态class

<

分组校验

vue-validator支持分组校验。例如重复密码功能。

username:
password:
comfirm password:

<script src="//cdn.bootcss.com/vue/1.0.24/vue.js" type="text/javascript" charset="utf-8">
<script src="//cdn.bootcss.com/vue-validator/2.1.3/vue-validator.js" type="text/javascript" charset="utf-8">

<script type="text/javascript">

new Vue({
el: '#app'
});

本文已被整理到了《》,欢迎大家学习阅读。

关于vue.js组件的教程,请大家点击专题进行学习。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读