ASP. net если еще условие FluentValidation - PullRequest
0 голосов
/ 18 февраля 2020

Я пытался выполнить, если еще условие в Fluent Validation, я обнаружил, что Fluent Validation имеют When Otherwise, теперь мой Type равен 2, поэтому он должен go для do something B, но это сохранить go в do something A

When(x => x.Type == 1, () => {
    //do something A
}).Otherwise(() => {
    //do something B
});

1 Ответ

0 голосов
/ 18 февраля 2020

Вы заметите, что точка отладки действительно входит в оба блока, но ошибки не отображаются для одного и того же.

Например, следующий код,

        When(x => x.Type == 1, () =>
        {
            RuleFor(y => y.Type).LessThanOrEqualTo(1);
        })
        .Otherwise(() => {
            RuleFor(y => y.Type).GreaterThan(10);
        });

будет работать для типа = 1 (т.е. ошибка не будет отображаться), но для типов = 0 и типа = 2 (до 10) будет отображаться следующая ошибка:

{
    "Type": [
        "'Type' must be greater than '10'."
    ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...