Title
随笔 - 83,  文章 - 0,  评论 - 0,  阅读 - 55559

1 问题:在使用element是使用自定义表单校验,当表单校验el-form-item加上v-if不触发校验的问题

 

下图是自定义的表单校验

 当切换为v-if为true的条件时,表单校验无法触发

 解决方法:在el-form-item的v-if上加一个key值,令key=prop的值就解决了

 

 

自定义校验代码:

复制代码
 var validateDiscount = (rule, value, callback) => {
      if (!value) {
        return callback(new Error('请输入优惠金额'));
      }
      setTimeout(() => {
        if (value && !(/^\d+(.\d{1,2})?$/.test(value))) {
          callback(new Error('最多保留两位小数'));
          } else {
            if (Number(value) > Number(this.calculateData.total_amount)) {
              callback(new Error('优惠大于总金额'));
            }
            else if (Number(this.rulesDataDetails.max_amount) ? Number(value) > Number(this.rulesDataDetails.max_amount) : false) {
              callback(new Error('优惠超出限制范围'));
            }
            else {
              callback();
            }
        }
      }, 300);
复制代码

 

posted on   chccee  阅读(1114)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示