asp.net проверка клиентской стороны MVC на нескольких формах на одной странице - PullRequest
4 голосов
/ 20 марта 2010

У меня есть 4 формы в моем представлении asp.net MVC.Я включил проверку на стороне клиента, поставив <% Html.EnableClientValidation(); %> выше Html.BeginForm() каждой формы.Проблема в том, что независимо от того, что я указал идентификаторы для форм, первая форма на странице проверяется всякий раз, когда я нажимаю кнопку отправки других форм.

Поддерживается ли использование или я что-то не так делаю?

Ответы [ 3 ]

1 голос
/ 25 июня 2010

это может помочь

                <%=Html.ValidationMessageFor(m => ((RegistrationFormModel)m.Data).Email, null, new { id = "registration_Email" })%>
0 голосов
/ 13 марта 2011

MVC2 полностью поддерживает настройку, которую вы ищете, я думаю, вы применяете это для чего-то вроде отображения формы регистрации и формы входа на одной странице?

Если это так, вам просто нужно, чтобы каждая форма имела независимые имена свойств, т.е.

LoginModel будет иметь свойство Username, а RegistrationModel будет иметь RegistrationUsername.

Не очень хороший пример, но, вероятно, происходит то, что проверка запускает перекрестную форму, потому что ваши свойства имеют одно и то же имя.

0 голосов
/ 20 марта 2010

Убедитесь, что у вас есть сообщения для проверки свойств. Если у вас нет сообщения проверки или (ValidateFor ()), свойство не добавляется в набор элементов, проверяемых при отправке формы.

См. вопрос для получения дополнительной информации.

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