FluentValidation MVC必需的外键

时间:2014-10-02 11:21:29

标签: asp.net-mvc fluentvalidation

我正在创建UserValidator以使用FluentValidation MVC 5验证UserViewModel

public class UserValidator : AbstractValidator<UserViewModel>
{
    public UserValidator()
    {
        RuleFor(u => u.UserName)
            .NotEmpty()
            .Length(1, 50);
        RuleFor(u => u.Password)
            .NotEmpty()
            .Length(6, 20);
        // How to validate Role must be selected from dropdownlist?
    }
}

UserViewModel
- UserID - int
- Username - varchar(50)
- Password - varchar(20)
- RoleID - int

如何为RuleFor创建RoleID,该用户必须在提交前选择该角色? 如果使用DataAnnotation,我只需使用[Required]属性。

1 个答案:

答案 0 :(得分:1)

查看Built in Validators的文档。

您可以使用NotEmpty

  

确保指定的属性不为null,空字符串或空格(或值类型的默认值,例如0表示int)

RuleFor(u => u.RoleID).NotEmpty()

或使属性可以为空并使用NotNull

  

确保指定的属性不为null。

RuleFor(u => u.RoleID).NotNull()