流畅验证失败后如何调用方法

CRo*_*rts 4 c# validation fluentvalidation

如果流畅的验证方法失败,我想运行一个方法。

RuleFor(x => x.SheepName)
            .Must(x => x.SheepName == null)
            .When(x => x.HasSheep == false)
            .Otherwise(callMethod());
Run Code Online (Sandbox Code Playgroud)

因此,在这种情况下,如果 HasSheep 值为 false 但仍然给出了 SheepName,那么我想运行一个方法(在示例中该方法称为“callMethod()”)。

我已经编写了 .Otherwise 语句,因此寻找整行 '.Otherwise(callMethod());' 的内容 需要是..

stu*_*rtd 5

当前版本:

\n

OnFailure( 和OnAnyFailure) 在 V11 中被删除。从发行说明来看:

\n
\n

如果您之前使用OnFailureOnAnyFailure在验证后执行自定义逻辑,我们建议您改用Custom验证器

\n
\n

旧版本:

\n

您可以使用OnFailure(\xe2\x80\xa6),如此处记录

\n
\n

如果验证失败,您可以使用 OnAnyFailure 和 OnFailure(从 8.0 开始)回调来运行方法。

\n
\n
RuleFor(x => x.SheepName)\n       .Must(x => x.SheepName == null)\n       .When(x => x.HasSheep == false)\n       .OnFailure(x => callMethod());\n
Run Code Online (Sandbox Code Playgroud)\n