Fluent Validation - Сценарии 

Page / - Изменено Alexandr Fokin в 2023/05/15 17:00 

Сценарии 
Изменено Alexandr Fokin
в 2023/05/15 17:00

Оглавление

Связанные валидации	Имеется в виду ситуация, когда ошибка одной валидации прерывает выполнение группы других.
Cascade mode
https://docs.fluentvalidation.net/en/latest/cascade.html	Позволяет прервать цепочку валидаций, но только в рамках одного правила.
RuleFor(x => x.Prop)
 .Cascade(CascadeMode.Stop)
 .NotNull()
 .NotEqual("foo");	
Dependent Rules
https://docs.fluentvalidation.net/en/latest/dependentrules.html	Позволяет указать делегат, код валидаций которых будет выполняться только в ситуации, когда правило выполнилось корректно.
RuleFor(x => x.NullableStructProp)
 .NotNull()
 .DependentRules(
  () => {
   RuleFor(x => x.NullableStructProp!.value.StructProp)
    .NotEmpty();
  }
);