У меня есть следующий код:
public class NewsEditViewDataValidator : AbstractValidator<NewsEditViewData>
{
public NewsEditViewDataValidator()
{
// Status unique identifier cannot be empty
// Status unique identifier must be greater or equal to 1
RuleFor(x => x.StatusId)
.NotEmpty()
.WithMessage("Status is required")
.GreaterThanOrEqualTo(1)
.WithMessage("Status unique identifier must be greater or equal to 1");
// Other rule sets
}
}
StatusId — целое число. Как в этом случае работает NotEmpty? Что это подтверждает? Целые числа или строка? Как будет выглядеть модульный тест для этой части проверки того, что целое число не является пустым?
Это используется для проверки раскрывающегося списка в моем приложении MVC 3. Проверка хорошо работает на представлении. Часть GreaterThanOrEqualTo заключается в том, что уникальный идентификатор статуса никогда не может быть меньше 1. Это я хочу активировать для проверки моего объекта. Когда это так, NotEmpty также не сработает? Есть ли предпочтения относительно того, кто из них будет уволен первым? Если StatusId равен 0, какой набор правил сработает? Если это -1? Я хотел бы, чтобы NotEmpty работал с представлением и GreaterThanOrEqualTo при проверке идентификатора бизнес-объекта. Какие-либо предложения?