使用FluentValidation.NET进行条件规则评估

时间:2012-10-25 09:13:35

标签: c# fluentvalidation

我想要实现的目标可以概括为简单的OR条件。

虽然支持使用Fluent Validation(When / unless)对OTHER属性进行条件属性验证,但似乎没有办法在同一属性上支持条件规则?或者我错过了什么?

基本上我想实现:

RuleFor(x => x.Property).CanEitherValidateThisRule().Or.CanValidateThisRule();

唯一的替代方法是将规则合并到一个自定义规则中?
然而,这与规则逻辑紧密结合,实际上它们是我可能想要在其他对象/领域上使用的完全独立的条件。

有人建议在FluentValidation.NET的未来版本中支持这一点,是否有人知道使用扩展方法实现此目的的方法,或者是否存在我错过的语法?

编辑:找到讨论:Fluent Validation for .NET - View Discussion

1 个答案:

答案 0 :(得分:0)

您可以尝试Chaining Validators for the Same Property 虽然它是一种肮脏的方式来做你想要的,但如果你正在对一小部分代码进行验证,它仍然值得。

如果你想要一种更清洁的方式,那么,截至目前,我认为创建custom validator class是最方便的选择。

我链接的维基页面提供了所有必要的工具。