[英]FluentValidation require one out of three values
使用流利的验证并验证三个变量中的至少一个是否> 0。我尝试使用when
otherwise
语句进行验证,但我无法添加另一个otherwise
语句。
When(c => c.var1!= null || c.var2!= null || c.var3!= null, () =>
{
RuleFor(c => c.var1).GreaterThan(0)
.WithMessage("One of these fields, var1, var2, or var3, are required.");
}).Otherwise(() =>
{
RuleFor(c => c.var2).GreaterThan(0);
});
// I would like to verify a third var but can't stack otherwise statements
如果我想验证 var1、var2、var3 之一是否 > 0,我应该进行哪些更改?
如果您使用 when 语句,则只需发送一条验证消息即可验证所有 3 个变量。 有诸如依赖规则之类的东西,但这更复杂。
RuleFor(c => c.var1).NotNull()
.WithMessage("At least one is required");
RuleFor(c => c.var2).NotNull()
.When(c => c.var2!= null)
.WithMessage("At least one is required");
RuleFor(c => c.var3).NotNull()
.When(c => c.var1!= null && c.var2!= null)
.WithMessage("At least one is required");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.