Исходный код вики Сценарии
Редактировал(а) Alexandr Fokin 2023/05/15 17:00
Последние авторы
| author | version | line-number | content |
|---|---|---|---|
| 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" %) |