使用FluentValidation

时间:2017-03-16 18:43:24

标签: c# fluentvalidation

我正在尝试做这样的事情:

RuleFor(client => client.PriceCustomization.GroupBy(a=>a.ProductId).Select(a => a.ToList()))
   .SetCollectionValidator(new PriceCustomizationsForProductValidator());

但是我收到此错误:失败:System.InvalidOperationException:嵌套验证器只能与成员表达式一起使用。

" PriceCustomizationsForProductValidator "是" PriceCustomization "

列表的验证器

有谁知道我怎么能解决这个问题?

2 个答案:

答案 0 :(得分:0)

如果PriceCustomizationsForProductValidator是列表类型的验证器,则无需致电.SetCollectionValidator。相反,您应该只能致电.SetValidator

答案 1 :(得分:0)

使用FluentValidation 版本8 ,请尝试以下操作:

RuleForEach(client => client.PriceCustomization)
   .SetValidator(new PriceCustomizationsForProductValidator());

请参见https://fluentvalidation.net/upgrading-to-8.html