Исходный код вики Сценарии

Редактировал(а) Alexandr Fokin 2023/05/15 17:00

Последние авторы
1 |(% style="width:208px" %)Связанные валидации|(% style="width:1284px" %)(((
2 Имеется в виду ситуация, когда ошибка одной валидации прерывает выполнение группы других.
3
4 |(% style="width:134px" %)Cascade mode
5 [[https:~~/~~/docs.fluentvalidation.net/en/latest/cascade.html>>https://docs.fluentvalidation.net/en/latest/cascade.html]]|(% style="width:1031px" %)(((
6 Позволяет прервать цепочку валидаций, но только в рамках одного правила.
7
8 {{code language="c#"}}
9 RuleFor(x => x.Prop)
10 .Cascade(CascadeMode.Stop)
11 .NotNull()
12 .NotEqual("foo");
13 {{/code}}
14 )))
15 |(% style="width:134px" %)Dependent Rules
16 [[https:~~/~~/docs.fluentvalidation.net/en/latest/dependentrules.html>>https://docs.fluentvalidation.net/en/latest/dependentrules.html]]|(% style="width:1031px" %)(((
17 Позволяет указать делегат, код валидаций которых будет выполняться только в ситуации, когда правило выполнилось корректно.
18
19 {{code language="c#"}}
20 RuleFor(x => x.NullableStructProp)
21 .NotNull()
22 .DependentRules(
23 () => {
24 RuleFor(x => x.NullableStructProp!.value.StructProp)
25 .NotEmpty();
26 }
27 );
28 {{/code}}
29 )))
30 |(% style="width:134px" %) |(% style="width:1031px" %)
31
32
33 )))
34 |(% style="width:208px" %) |(% style="width:1284px" %)
35 |(% style="width:208px" %) |(% style="width:1284px" %)