element-ui的表单验证this.$refs[formName].validate的代码不执行


经过排查,如果自定义验证中,每种情况都要写明确和有回调函数callback

     var validatePhone = (rule, value, callback) => {  
          const reg = /^(0|86|17951)?(13[0-9]|15[012356789]|166|17[3678]|18[0-9]|14[57])[0-9]{8}$/;         
            if (value!== "") {
                if (value === "") {
                    callback(new Error("请输入手机号"));
                } else if(value.length==11&&reg.test(value)){
                   callback();
                } else {
                    callback(new Error("请输入正确的手机号"));
                }
            } else {
                callback(new Error("请输入手机号"));
            }
        };

上面是自定义验证,写在data里面。如果验证通过,但是没有加上callback(),则validate里面的代码会一直不执行。

小结:用于判断值的情况用value比较好,

value的值为相对于的表单元素的v-model的值

rule是验证规则,

callback是回调函数,每个判断结束,语句后面要callback(。。)结果给validate,不然validate会一直等待返回的回掉,不往下执行代码。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM