【问题标题】:Conditional rule evaluation with FluentValidation.NET使用 FluentValidation.NET 进行条件规则评估
【发布时间】:2012-11-05 00:53:00
【问题描述】:

我想要达到的,大致可以概括为一个简单的OR条件。

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

基本上我想实现:

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

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

有人建议在 FluentValidation.NET 的未来版本中支持此功能,是否有人知道使用扩展方法实现此功能的方法,或者是否有我遗漏的语法?

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

【问题讨论】:

    标签: c# fluentvalidation


    【解决方案1】:

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

    如果您想要更简洁的方式,那么到目前为止,我认为创建custom validator class 是最方便的选择。

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

    【讨论】:

    • 感谢您的回答 - 链接验证器正是我想要实现的,但是使用 OR 条件而不是 rule().[and]rule()
    猜你喜欢
    • 2020-07-04
    • 1970-01-01
    • 2019-09-07
    • 2020-03-21
    • 2018-05-27
    • 2016-09-25
    • 1970-01-01
    • 2021-07-12
    • 2015-06-21
    相关资源
    最近更新 更多