Vee validate 多重验证

Vee validate multiple validation

我使用 vee-validate 的扩展创建了自定义规则。所以我有这个 rules

required|numeric|min_value:1|lte:@max_quantity|lte:@stock

从上面的代码中,当 lte:@max_quantityfalse 并且 lte:@stocktrue 时,它会被最后一个覆盖规则所以结果总是被认为是 true 而不是 false

那么我该如何实现呢?

规则:

extend("gte", {
  params: ["target"],
  validate(value, { target }) {
    return value >= target;
  },
  message: "{_field_} greater than or equal to {target}"
});

extend("lte", {
  params: ["target"],
  validate(value, { target }) {
    return value <= target;
  },
  message: "{_field_} less than or equal to {target}"
});

要处理此问题,您可以创建接受 multiple arguments @max_quantity@stock 的自定义规则,并在计算结果时将两者都考虑在内。然后指定自定义规则名称而不是 lte.