vue.js element-ui validate中代码不执行

直接上代码

var validateName = (rule,value,callback) =>{
    if(!value){
        return callback(new Error('用户名不能为空'))
    }
};

这样写的方法是错误的在methods里面函数不validate是不会执行的

registForm:function (){
    this.$refs.ruleForm2.validate((valid) => {
        if (valid) {
            *这段方法不会执行*
            this.logining = true;
             var RegistParams = { 
                  "userName": this.ruleForm2.userName,
                  "checkCode":this.ruleForm2.code,
                  "userMobileNumber":this.ruleForm2.pass,
                  "userLoginPassword":this.ruleForm2.phone
              };
            requestRegist(RegistParams).then(data => {
                this.logining = false;
                let result = data;
                if(result.status=="1"){
                    this.$router.push({path:'/login'})
                }else{
                    this.$message({
                        message: result.message,
                        type: 'error'
                    })
                }
            })
        }else{
            console.log('error submit!!');
            return false;
        }
    })
}

总结
因为最开始删除了else中的callback(),在执行this,$refs.ruleForm2.validate((valid) =>{})的时候内容的代码一直不会执行,
所以要保证在没一个判断里面都要有callback().

Logo

前往低代码交流专区

更多推荐