vue表单验证组件 v-verify-plugin


vue表单验证组件 v-verify-plugin

verify

github:github.com/liuyinglong/npm:npmjs.com/package/vue-v

install

npm install vue-verify-plugin

use

  • html
<div>
    <div>
        <input type="text" placeholder="姓名" v-verify.grow1="username" v-model="username"/>
        <label v-verified="verifyError.username"></label>
    </div>
    <div>
        <input type="password" placeholder="密码" v-verify.grow1="pwd" v-model="pwd"/>
        <label v-verified="verifyError.pwd"></label>
    </div>
    <button v-on:click="submit">确认</button>
 </div>
  • js
import Vue from "vue";
import verify from "vue-verify-plugin";
Vue.use(verify);

export default{
    data:function(){
        return {
            username:"",
            pwd:""
        }
    },
    methods:{
        submit:function(){
            if(this.$verify.check()){
                //通过验证    
            }
        }
    },
    verify:{
        username:[
            "required",
            {
                test:function(val){
                    if(val.length<2){
                        return false;
                    }
                    return true;
                },
                message:"姓名不得小于2位"
            }
        ],
        pwd:"required"
    },
    computed:{
        verifyError:function(){
            return this.$verify.$errors;
        }
    }
}

指令说明

v-verify

v-erify 在表单控件元素上创建数据的验证规则,他会自动匹配要验证的值以及验证的规则。

v-verify 修饰符说明

该指令最后一个修饰符为自定义分组

//自定义teacher分组
v-verify.teacher
//自定义student分组
v-verify.student

//验证时可分开进行验证  

//验证student 分组
this.$verify.check("student")
//验证teacher 分组
this.$verify.check("teacher")
//验证所有
this.$verify.check();

v-verified

v-verified 错误展示,当有错误时会展示,没有错误时会加上style:none,默认会展示该数据所有错误的第一条该指令为语法糖(见示例)

<input v-model="username" v-verify="username">

<label v-show="$verify.$errors.username && $verify.$errors.username.length" v-text="$verify.$errors.username[0]"></label>
<!--等价于-->
<label v-verified="$verify.$errors.username"></label>
<!--展示所有错误-->
<label v-verified.join="$verify.$errors.username">

修饰符说明

.join 展示所有错误 用逗号隔开

自定义验证规则

var myRules={
    phone:{
        test:/^1[34578]\d{9}$/,
        message:"电话号码格式不正确"
    },
    max6:{
        test:function(val){
            if(val.length>6) {
                return false
            }
            return true;
        },
        message:"最大为6位"
    }

}
import Vue from "vue";
import verify from "vue-verify-plugin";
Vue.use(verify,{
    rules:myRules
});
作者:刘hn
链接:https://www.zhihu.com/question/37099220/answer/157860553
来源:知乎
 
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值