Проверка клиента MVC2 не работает при получении формы из вызова ajax - PullRequest
2 голосов
/ 23 мая 2010

Я пытаюсь использовать проверку на стороне клиента MVC2 в частичном представлении, которое отображается через $ .get Однако проверка клиента не работает. Я не совсем уверен, что это за сделка.

[Required(ErrorMessage = "Email is required")]
public string Email { get; set; }

<% using ( Ajax.BeginForm( new AjaxOptions { Confirm = "You sure?" } ) ) { %>
<%: Html.TextBoxFor( m => m.Email, new { @class = "TextBox150" } )%>
<%= Html.ValidationMessageFor( m => m.Email )%>
<input type="submit" value="Add/Save" style="float: right;" />
<% } %>

Я не делаю ничего особенного, чтобы сделать частичное представление. Просто поместите html в div и покажите его в модальном всплывающем окне.

В дополнение к этому, кто-нибудь знает, возможно ли отправить форму с проверкой клиента без кнопки отправки?

Ответы [ 2 ]

1 голос
/ 23 мая 2010

Проверка на стороне клиента MVC2 зависит от некоторого дополнительного javascript, отображаемого на странице, которая кодирует правила проверки из модели.Я думаю, что вы можете получить это из частичного представления, хотя я не пробовал, если вы включите вызов EnableClientValidation в ваше частичное представление непосредственно перед началом формы.Убедитесь, что у вас есть клиентский JavaScript MVC, включенный в главное представление.

<% Html.EnableClientValidation(); %>
<% using ( Ajax.BeginForm( new AjaxOptions { Confirm = "You sure?" } ) ) { %>
<%: Html.TextBoxFor( m => m.Email, new { @class = "TextBox150" } )%>
<%= Html.ValidationMessageFor( m => m.Email )%>
<input type="submit" value="Add/Save" style="float: right;" />
<% } %>

Обычно я использую проверку на основе модели MVC2 в сочетании с подключаемым модулем проверки jQuery с использованием клеевого JavaScript-кода MVC / jQuery из кода MVCFutures,Я знаю, что это работает при отправке формы, независимо от того, запущена ли отправка с помощью кнопки отправки или JavaScript.Все мои «кнопки» на самом деле являются ссылками, которые инициируют отправку формы через javascript, и это работает для меня.Я предполагаю, что это верно для стандартных сценариев проверки MVC, но они не использовались.

0 голосов
/ 23 мая 2010

Некоторое время назад я написал сообщение об этой проблеме, вы можете использовать его в качестве отправной точки в вашей ситуации (вам придется изменить место, где вы вызываете функции и передать правильный элемент для обработки): http://tpeczek.com/2010/04/making-aspnet-mvc-2-client-side.html

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