C# 多个可能值的Fluentvalidation验证器

C# 多个可能值的Fluentvalidation验证器,c#,fluentvalidation,C#,Fluentvalidation,是否有任何内置函数来验证多个可能的通过/失败选项,类似于SQL in运算符 例如:在下面的代码中,我需要确保用户的状态必须为“活动”、“过期”、“阻止”等 对于用户角色,它应该是用户角色(“管理员”、“经理”、“查看者”…) 公共类用户 { 公共字符串用户_状态{get;set;} 公共字符串用户角色{get;set;} } 公共类UpdateUserValidator:NullReferenceAbstractValidator { 公共UpdateUserValidator() { Rule

是否有任何内置函数来验证多个可能的通过/失败选项,类似于SQL in运算符

例如:在下面的代码中,我需要确保用户的状态必须为“活动”、“过期”、“阻止”等

对于用户角色,它应该是用户角色(“管理员”、“经理”、“查看者”…)

公共类用户
{
公共字符串用户_状态{get;set;}
公共字符串用户角色{get;set;}
}
公共类UpdateUserValidator:NullReferenceAbstractValidator
{
公共UpdateUserValidator()
{
RuleFor(user=>user.user_status).NotNull();
}       
}

据我所知,没有内置的验证器来执行此操作

您可以使用
.Must
和接受值的集合

类似的东西(当然,接受值的集合可以在变量中,并在must和message部分中使用)


或者您当然可以创建自己的自定义验证器。

据我所知,没有内置的验证器可以这样做

您可以使用
.Must
和接受值的集合

类似的东西(当然,接受值的集合可以在变量中,并在must和message部分中使用)

当然,您也可以创建自己的自定义验证器

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();

        }       
    }
RuleFor(x =>x.user_status)
.Must(x => new[]{"Active", "Expired", "Blocked"}.Contains(x))
.WithMessage("User status should be  either 'active', 'expired' or 'blocked'");