木灵鱼儿
阅读:4148
最后更新:2020/06/27/ 15:57:31
vuetify 两种表单验证方式
vuetify的验证,官方好像没有多说怎么弄,只有一个单一的例子,并且是丢在数组中的,此时我们是没办法通过this拿到vue的上下文的,这样做就会导致很多自定义的办法无法做到。
这里我们就了解一下两个绑定表单验证的方法:
官方
<v-text-field v-model="user.pass" label="密码:" name="pass" type="password" :rules="rules.pass" outlined clearable></v-text-field>
rules绑定一个data中的属性
data: ()=>({
user:{
pass:""
},
rules:{
pass:[
v => !!v || "密码必填",
v => v.length >= 6 || "密码不能低于6位",
v => v.search(/\s/) === -1 || "不能有空格"
]
}
})
这是最基本的绑定方式,但是,假如我要做一个二次确认密码的input怎么办?
绑定自定义方法
自定义方法必须return出一个值,否则就会报错。
<v-text-field v-model="user.affirmPass" label="确认密码:" name="affirmPass" type="password" :rules="[affirmPass]" outlined clearable></v-text-field>
methods:{
affirmPass(val) {
if (val !== this.user.pass) {
return "两次密码不一致";
}
return true;
},
}
这样就可以了。
相对来说还是好理解的,就是绑定时候直接写个数组,数组里面放methods中的方法
版权申明
本文系作者 @木灵鱼儿 原创发布在木灵鱼儿 - 有梦就能远航站点。未经许可,禁止转载。
相关推荐
关于async-validator 表单重置后的初始值的问题
Element UI和iView 两个框架,他们表单验证使用的是async-validator,所他们的重置表单的方法是一样的。this.$refs[name].resetFields();使用该方法,会重置校验状态和表单值,表单的值会恢复成默认的值。那么,这个默认值的定义是什么?我今天就遇到了一个情况,就是我的表单绑定的对象,是一个空值,然后我在这个元素被创建时,拿到props传过来的值赋值给表单对象。当我再来改动表单内容后,进行表单重置时,发现,重置后表单显示的值居然是我从props中获取的那个。也就是说,重置表单,他并没有恢复我表单对象的空状态。所以我就在想,他的默认值是怎么判断的...