我想要实现的目标可以概括为简单的OR条件。
虽然支持使用Fluent Validation(When / unless)对OTHER属性进行条件属性验证,但似乎没有办法在同一属性上支持条件规则?或者我错过了什么?
基本上我想实现:
RuleFor(x => x.Property).CanEitherValidateThisRule().Or.CanValidateThisRule();
唯一的替代方法是将规则合并到一个自定义规则中?
然而,这与规则逻辑紧密结合,实际上它们是我可能想要在其他对象/领域上使用的完全独立的条件。
有人建议在FluentValidation.NET的未来版本中支持这一点,是否有人知道使用扩展方法实现此目的的方法,或者是否存在我错过的语法?
答案 0 :(得分:0)
您可以尝试Chaining Validators for the Same Property 虽然它是一种肮脏的方式来做你想要的,但如果你正在对一小部分代码进行验证,它仍然值得。
如果你想要一种更清洁的方式,那么,截至目前,我认为创建custom validator class是最方便的选择。
我链接的维基页面提供了所有必要的工具。