3

我想要达到的目标可以粗略地概括为一个简单的 OR 条件。

虽然使用流畅验证(何时/除非)支持其他属性的条件属性验证,但似乎没有一种方法可以支持同一属性的条件规则?还是我错过了什么?

基本上我想实现:

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

唯一的替代方法是将规则组合在一个自定义规则中?
但是,这将规则逻辑紧密结合在一起,实际上它们是我可能想在其他对象/字段上使用的完全独立的条件。

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

编辑:找到讨论:.NET 的流利验证 - 查看讨论

4

1 回答 1

0

您可以尝试为同一属性链接验证器 虽然这是一种肮脏的方式来做您想做的事,但如果您对一小部分代码进行验证,它仍然值得。

如果您想要一种更清洁的方式,那么到目前为止,我认为创建自定义验证器类是最方便的选择。

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

于 2012-11-04T16:45:00.013 回答