Fluentvalidation 多个可能值的验证器
Fluentvalidation Validator for multiple possible values
Fluentvalidation 是否有任何内置函数来验证 pass/fail 的多个可能选项,类似于 SQL In operator ?
例如:在下面的代码中,我需要确保 user_status 必须是 ("Active", "Expired", "Blocked"...... ...) 等等
而对于 user_role 应该是 user_role("admin", "manager", "viewer"......)
public class Users
{
public string user_status { get; set; }
public string user_role { get; set; }
}
public class UpdateUserValidator : NullReferenceAbstractValidator<Users>
{
public UpdateUserValidator()
{
RuleFor(user => user.user_status).NotNull();
}
}
据我所知,没有内置验证器执行此操作。
您可以使用 .Must
和一组可接受的值。
类似的东西(当然,接受值的集合可以在一个变量中,并用于must和message部分)。
RuleFor(x =>x.user_status)
.Must(x => new[]{"Active", "Expired", "Blocked"}.Contains(x))
.WithMessage("User status should be either 'active', 'expired' or 'blocked'");
或者您当然可以创建自己的自定义验证器。
Fluentvalidation 是否有任何内置函数来验证 pass/fail 的多个可能选项,类似于 SQL In operator ?
例如:在下面的代码中,我需要确保 user_status 必须是 ("Active", "Expired", "Blocked"...... ...) 等等
而对于 user_role 应该是 user_role("admin", "manager", "viewer"......)
public class Users
{
public string user_status { get; set; }
public string user_role { get; set; }
}
public class UpdateUserValidator : NullReferenceAbstractValidator<Users>
{
public UpdateUserValidator()
{
RuleFor(user => user.user_status).NotNull();
}
}
据我所知,没有内置验证器执行此操作。
您可以使用 .Must
和一组可接受的值。
类似的东西(当然,接受值的集合可以在一个变量中,并用于must和message部分)。
RuleFor(x =>x.user_status)
.Must(x => new[]{"Active", "Expired", "Blocked"}.Contains(x))
.WithMessage("User status should be either 'active', 'expired' or 'blocked'");
或者您当然可以创建自己的自定义验证器。