Vue.js专区Vue.jsWeb前端之路

vue:使用vux-ui自定义表单验证

2018-05-10  本文已影响68人  Lucia_Huang

初学框架vue搭配vux使用发现这个UI库使用有些力不从心。下面说说自己在表单验证过程遇到的两个需求问题及解决的方法。

1.使用x-input组件可知,官方只给了三种类型的is-type验证器,分别是:email,china-name,china-mobile,其他需要自己自定义验证器,怎么写验证器?

解决方法:自定义is-type验证器(试验过可以在valid使用正则验证)

<x-input type="number" v-model="code" placeholder="请输入验证码" :is-type="codeValue" />
export default {
    data() {
        return{
            code: '',
            codeValue: function(value){
                return {
                    valid: value.length === 4,
                    msg: "验证码有误!"
                }
            }
        }
    }
}
2.表单内容都填写无误之后,提交表单的按钮才能被触发(如图)
输入框为空时,“完成”按钮状态
输入内容有误时,“完成”按钮状态
输入格式正确时,“完成”按钮状态
解决方法:使用x-input组件的@on-change事件,及ref属性
<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;
                }
            }
        }
    }

以上是我在使用vux表单验证时遇到的需求问题,虽然不是什么难点,但是很实用~

有更好的方法欢迎各位留言~

上一篇下一篇

猜你喜欢

热点阅读