vux 获取表单验证校验的返回值
- isType
- 自定义的方式
isType
vux使用x-input情形如下:
表单中需要填写手机号,填完手机号之后,进行提交。点击“提交”按钮的时候,需要判断手机号是否通过校验,vux提供了is-type内置验证器,我们省去了自己校验手机号的过程。
<x-input required title="手机号码" v-model="phone" placeholder="请输入您的手机号码" is-type="china-mobile" ref="refPhone">
<img slot="label" style="padding-right:10px;display:block;" src="/static/phoneGray.png" width="24" height="24">
</x-input>
methods: {
confirm() {
console.log('result:' + this.$refs.refPhone.valid) // valid为true/false
}
}
有3点需要注意,
1. x-input控件上加了 ref ,加了ref才能使用this.$refs.mobile.valid
2. x-input控件上加required将其变成必填项
3.required === required="true" ,没有则默认为false;; 类似的,:should-toast-error="false" 一定不要忘记前面的:号,这个属性需要手动改为false,因为官方文档给出的默认为true
vux-ui自定义表单验证
<x-input type="number" v-model="code" placeholder="请输入验证码" :is-type="codeValue" ref="refcode" @on-change="keyDown" />
<x-button action-type="submit" :disabled="disabled">完成</x-button>
export default {
data() {
return{
code: '',
disabled: true,
codeValue: function(value){
return {
valid: value.length === 4,
msg: "验证码有误!"
}
}
}
},
methods: {
keyDown(){
if(this.$refs.refcode.valid == true && this.code != ''){
this.disabled = false; // 验证码输入与表单提交按钮绑定,若验证码输错,则提交按钮为暗色,点击不好使。
}else{
this.disabled = true;
}
}
}
}
注意:使用x-input组件的@on-change事件,及使用 ref
补充:
Q:Vux内置的一些验证信息是及时的动态匹配错误提示。它只是有提示性信息,如果需求是点击下一步按钮进行提交的时候判断非空验证
A:那你点击提交时判断v-model绑定的值是否为空就好使了