问题描述
我已经使用vee-validate
的扩展名创建了自定义规则。所以我有这个rules
required|numeric|min_value:1|lte:@max_quantity|lte:@stock
从以上代码中当lte:@max_quantity
为 false 并且lte:@stock
为 true 时,它将被最后一条规则覆盖,因此结果始终被视为 true ,而不是 false
那我该如何实现呢?
规则:
extend("gte",{
params: ["target"],validate(value,{ target }) {
return value >= target;
},message: "{_field_} greater than or equal to {target}"
});
extend("lte",{ target }) {
return value <= target;
},message: "{_field_} less than or equal to {target}"
});
解决方法
要处理此问题,您可以创建一个接受multiple arguments @max_quantity
和@stock
的自定义规则,并在考虑两者的情况下计算结果。然后,指定该自定义规则名称而不是lte
。