只有当Type
是Other
时,我才需要为Message
添加验证
我尝试使用Must
,当类型为Other
时验证有效,但当类型为First
时,我收到"The specified condition was not met for 'message'.",
enum Types
{
First, Second, Other
}
class MyRequest
{
public string Message { get; set; }
public Types Type { get; set; }
}
public MyRequestValidator()
{
RuleFor(x => x.Type)
.IsInEnum();
RuleFor(x => x.Message)
.Must((model, field) =>
{
if (model.Type == Types.Other)
{
return true;
}
return false;
})
.NotEmpty()
.WithMessage("Message is required when type is Other")
.MaximumLength(10);
}
当另一个道具是枚举中的特定值时,如何验证字符串?
看起来像是SaeedEsmaeelinejad
提出时,我的问题
When(x => x.Type == Types.Other, () => {
RuleFor(x => x.Message)
.NotEmpty()
.WithMessage("Message is required when type is Other")
.MaximumLength(10);
});