Цепочка правил 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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