Выборочная проверка на стороне клиента в ASP.NET MVC - PullRequest
1 голос
/ 01 февраля 2010

Как я могу реализовать выборочную проверку на стороне клиента
с помощью встроенной системы проверки MVC 2?
Предположим, у меня есть флажок в заголовке формы «У вас есть ребенок?»
и если установлен флажок, текстовое поле ниже должно быть обязательно
(текстовое поле «Количество детей»).

1 Ответ

0 голосов
/ 10 апреля 2010

Несколько вариантов, которые могут заставить вас задуматься. В случае нескольких действий публикации (например, нажатие кнопки отмены в форме не должно запускать проверку), я убедился, что формы публикуют только одно действие, а все остальное по сути является стилизованной ссылкой. Валидация в этом случае не сработает.

Если, как и в вашем случае, у вас сложная проверка, я бы предложил создать специальный валидатор и зарегистрировать адаптер на стороне клиента, например,

[RequiredIfHasChildren]

Таким образом, вы будете писать собственный атрибут проверки, специальный валидатор модели и некоторый код JavaScript для регистрации нового валидатора на стороне клиента. Подобный подход работал для меня в прошлом, но зависимость от другого свойства модели может быть проблемой.

Надеюсь, это поможет.

...