element ui 中表单验证validate验证成功不执行成功的逻辑代码

写一个小项目遇到的问题

首先今天做项目时遇到的一个问题,下面代码中,如果上面的验证规则通过但是不会执行验证通过的代码,只有验证不通过才会输出else里的代码

this.$refs[formName].validate((valid) => {
    	//valid为true时代表所有验证规则通过
        if (valid) {
         	//验证通过执行的代码,不执行
        } else {
          console.log('error submit!!')
          return false
        }
      })

经过自己去官网查看发现是自己写验证的时候疏忽了,下面是自己错误的代码,可以看到如果验证失败,都会调用callback()方法 ,也是这个方法是触发validate()方法,所以验证不通过会触发validate()方法去执行不通过的逻辑,但是如果都通过了却什么都没执行。

var checkPrice = (rule, value, callback) => {
      if (!value) {
        return callback(new Error('不能为空'))
      }
      if (!Number.isInteger(value)) {
        callback(new Error('请输入数字值'))
      }
    }

所以要在声明的验证规则中加入validate(),或者是callback()如果都通过了也触发validate()方法执行执行验证通过的代码,

var checkPrice = (rule, value, callback) => {
      if (!value) {
        return callback(new Error('不能为空'))
      }
      if (!Number.isInteger(value)) {
        callback(new Error('请输入数字值'))
      }
      validate()
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值