Проверяйте поля только в том случае, если установлен флажок (ASP.NET-MVC3) - PullRequest
1 голос
/ 08 августа 2011

У меня есть форма, в которой есть поля, которые по умолчанию скрыты и видны только в том случае, если пользователь установил флажок «дополнительная информация». Я хочу, чтобы эти поля проверялись по атрибутам dataannotation (таким как обязательные, длина строки, регулярное выражение соответствия и т. Д.) На ОБА клиенте и на стороне сервера, но только если установлен флажок «дополнительная информация».

Есть ли встроенное решение для этого в аннотациях данных?

Лучшим решением было бы что-то, что изменяет только мою view-модель, но если мне нужно испачкать руки, написав собственный код в контроллере, пусть будет так.

Я бы хотел иметь возможность использовать такие вещи, как ModelState.IsValid, поэтому вмешательство в состояние модели также возможно, если другого пути нет.

Можете ли вы предложить несколько хороших решений для этого?

1 Ответ

0 голосов
/ 14 апреля 2013

Я знаю, что это старый вопрос. Но сейчас есть хороший способ сделать это: FoolProof . Например, атрибут [RequiredIf].

...