自定义rule 提交时this.$refs[formName].validate((valid) => 不生效

自定义rule:

 var checksealevel = (rule, value, callback) => {
      if (!value) {
        return callback(new Error("请输入"));
      } else {
        if (Number(value) <= 4000) {
          const regexp = /^-?[1-9]\d*$|^0$/;
          if (!regexp.test(Number(value))) {
            return callback(new Error("请输入不大于4000的整数"));
          } 
        } else {
          return callback(new Error("请输入不大于4000的整数"));
        }
      }
    };

当点击提交,所有valid都通过校验,但是不触发this.$refs[formName].validate这一步;

 var checksealevel = (rule, value, callback) => {
      if (!value) {
        return callback(new Error("请输入"));
      } else {
        if (Number(value) <= 4000) {
          const regexp = /^-?[1-9]\d*$|^0$/;
          if (!regexp.test(Number(value))) {
            return callback(new Error("请输入不大于4000的整数"));
          } else {
            callback(); //--------------------添加这一行即可
          }
        } else {
          return callback(new Error("请输入不大于4000的整数"));
        }
      }
    };

添加callback()即可;

上一篇:Effective C++:条款39:明智而审慎地使用private继承


下一篇:echarts出现警告[echarts Can't get dom width or height]解决方法就是初始化后再填数据,放nextTick中