[英]ASP.NET Core Web API - How to implement optional validation using Fluent Validation
I have this validator using Fluent Validation in ASP.NET Core-6 Web API:我有这个验证器在 ASP.NET Core-6 Web API 中使用 Fluent Validation:
public TransactionValidator()
{
RuleFor(p => p.Token)
.Cascade(CascadeMode.StopOnFirstFailure);
}
Token should either be null, or it has input value of exactly 6 lengths.令牌应该是 null,或者它的输入值正好是 6 个长度。
How do I get this done?我如何完成这项工作?
Fluent validation supports predicate validator via Must
: Fluent 验证通过
Must
支持谓词验证器:
RuleFor(p => p.Token)
.Cascade(CascadeMode.Stop)
.Must(s => s == null || s.Length == 6);
Or the same can be achieved with conditions :或者可以通过条件实现相同的目的:
RuleFor(p => p.Token)
.Cascade(CascadeMode.Stop)
.Length(6)
.When(c => c.Token != null);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.