我正在创建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]
属性。
答案 0 :(得分:1)
查看Built in Validators的文档。
您可以使用NotEmpty
:
确保指定的属性不为null,空字符串或空格(或值类型的默认值,例如0表示int)
RuleFor(u => u.RoleID).NotEmpty()
或使属性可以为空并使用NotNull
:
确保指定的属性不为null。
RuleFor(u => u.RoleID).NotNull()