Можно ли изменить валидатор модели в зависимости от другой переменной? - PullRequest
0 голосов
/ 18 марта 2019

Я думал что-то вроде этого:

[(if (string.IsNullOrEmpty(a) && string.IsNullOrEmpty(b)), ErrorMessage = "Both 'a' and 'b' cannot be null")]
string a;

[(if (string.IsNullOrEmpty(a) && string.IsNullOrEmpty(b)), ErrorMessage = "Both 'a' and 'b' cannot be null")]
string b;

Не совсем так написано, но я думаю, что так лучше всего описать ситуацию

1 Ответ

1 голос
/ 18 марта 2019

Почему бы вам не использовать FluentValidation ? Вы можете легко создавать собственные валидаторы, например, то, что вам нужно, а также существует несколько предопределенных валидаторов.

Что вы хотите в FluentValidation: Когда / Если условие:

RuleFor(m => m.FirstName).NotEmpty().When(m => string.IsNullOrEmpty(m.LastName));

или

RuleFor(m => m.LastName).NotEmpty().Unless(m => !string.IsNullOrEmpty(m.FirstName));

Если вам нужны валидаторы атрибутов, вы можете взглянуть на FoolProof , чтобы понять эту идею.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...