Цепочка правил FluentValidation не останавливается при первом сбоеC#

Место общения программистов C#
Anonymous
Цепочка правил FluentValidation не останавливается при первом сбое

Сообщение Anonymous »

У меня есть модель:

Код: Выделить всё

public class DTO
{
public int[] StatementItems { get; set; }
}
Что я хочу подтвердить:
Я создал цепочку правил проверки:

Код: Выделить всё

RuleFor(x => x.StatementItems).NotNull().NotEmpty().Must(x => x.Distinct().Count() == x.Count());
И у меня есть тест:

Код: Выделить всё

_validator.ShouldHaveValidationErrorFor(x => x.StatementItems, null as int[]);
Когда я запускаю тест, передающий нулевое значение, я ожидаю, что он завершится неудачно по первому правилу цепочки (

Код: Выделить всё

NotNull()
) и остановимся на этом. Однако он жалуется, что значение лямбды, используемое в Must(), равно нулю.

Я ошибаюсь, думая, что Must() не следует запускать, если NotNull() не работает? Если да, то как следует написать это правило?

Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/421 ... st-failure

Вернуться в «C#»