this.$refs.form.validate()不起作用

  • 问题描述?
    使用该方法获取校验状态的时候,一直获取不到,console没有结果输出
  • this.$refs.form.validate().then((valid) => {
        console.log(valid)
    });
    
  • 解决方法
    去掉没有加入验证规则的prop
  • 什么意思呢?
    我在代码中写了很多这样的prop,作为需要校验的字段
  • <FormItem label="跨网网关" prop="groupId">
    

    但是,在我定义的rules里面没有出现该prop

    rules: {
       schemaId: [{required: true, message: '必填'}],
    },
    
  • 解决思路
  • 因为我使用的是ivew框架,所以我会先去ivew官网查看一番,一般一些比较简单的问题,直接翻官网都能得到解决,但是我这种比较无厘头的问题,很明显,我在官网并没有得到什么实质性的收获
  • 上百度,就算不能从前辈或同行那里得到什么实质性的解决,但最少也能开阔一下自己的脑洞。
    我就顺带说下我得收获:
    • 确定自定义得规则在最后都进行了callback()回调
    • 可以自己将this.$refs.form.validate()打印出来看看状态
    • 虽然看上去,并没有什么实质性得解决,但是我从中明白了,肯定是我的校验没有完成,二话不多说。
    • console.log(this.$refs.form.validate())
      

      果不其然啊,我的状态是pedding(待办)状态,还没有执行完成,这个时候又继续排查,确保校验规则没有问题,那么就只能是上面,我自己定义多了prop字段,去掉后,正常呢。

  • 一般来讲多加上prop不会有问题,还有可能是你的自定义的校验有问题(有可能是你的自定义规则里面没有写callback(),检查一下)。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值