如何使用 RuleForEach 验证集合项

2024-03-31

我一直在(成功)使用以下验证:

RuleFor(x => x.Items)
  .SetCollectionValidator(new ItemValidator())
  .Must(coll => coll.Sum(item => item.Percentage) == 100)
  .When(x => x.Items != null);

正如上面的SetCollectionValidator已(将)被弃用,我将其更改为:

RuleForEach(x => x.Items)
  .SetValidator(new ItemValidator())
  .Must(coll => coll.Sum(item => item.Percentage) == 100)
  .When(x => x.Items != null);

然而,Sum不再被认可。

我怎样才能解决这个问题?


您可以使用两个单独的规则。其中之一是验证项目,另一项用于验证集合。

RuleForEach(x => x.Items)
  .SetValidator(new ItemValidator());

RuleFor(x => x.Items)
  .Must(coll => coll.Sum(item => item.Percentage) == 100)
  .When(x => x.Items != null);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 RuleForEach 验证集合项 的相关文章

随机推荐