elementUI中async-validator两个表单项之间有依赖关系的验证方法

elementUI中表单验证是用的async-validator在这里插入图片描述

问题描述

在这里插入图片描述
在这里插入图片描述

  • 这里要实现的逻辑是:底价 < 限价
  • 现在出现的问题是:初始状态底价和限价都是0,当我底价输入4时,提示error:不能大于销售限价,这个是正常的,然后我输入限价为6,此时底价的error不会消失

解决办法

在限价的callback()前使用validateField方法触发底价的验证

//这里加延时器是因为如果你想在两个关联的里面互相触发,会出现RangeError: Maximum call stack size exceeded (爆栈问题)
 setTimeout(() => {
   this.$refs.form.validateField(`tableData.${index}.fTradeFloorPrice`);
  });
  callback();

说明一下为什么我的validateField里面传的参数这么长,因为我是form嵌套table来使用的,如果是form就没有这么复杂的参数了。
在这里插入图片描述

其实elementUI的文档里都写了,前面没有认真看
在这里插入图片描述

发布了96 篇原创文章 · 获赞 15 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_35958891/article/details/103868520