Отключить проверку клиента при нажатии определенных кнопок в форме в MVC 2 - PullRequest
0 голосов
/ 03 марта 2011

У меня есть приложение mvc 2, в котором у меня есть форма, содержащая две кнопки

 <% Html.EnableClientValidation(); %>
<%using(Html.BeginForm()){ %>
            <%= Html.LabelFor(m=> m.FormName) %>
            <%= Html.TextBoxFor(m=> m.FormName) %>
            <%: Html.ValidationMessageFor(m => m.FormName) %>
   <input type="submit" name="BtnSegment" value="Add" class="button_99" title="Add" />
    <input type="submit" name="BtnSave" value="Save" class="button_99"  title="Save" />
<%} %>

Теперь мое требование - отключить проверку, когда пользователь нажимает кнопку Add.Но проверить, когда пользователь нажимает кнопку Save.спасибо, сурадж

1 Ответ

1 голос
/ 03 марта 2011

Если вы используете MSAjax для проверки на стороне клиента, вы можете сделать это:

<input type="submit" name="BtnSegment" disableValidation="true" value="Add" class="button_99" title="Add" />

Обратите внимание на атрибут disableValidation на кнопке. Очевидно, что это недействительный HTML Transitional, и вы можете обмануть, добавив этот атрибут, используя javascript:

document.getElementById('idOfYourButton').disableValidation = true;

Все еще вонючий, но по крайней мере валидатор будет счастлив.

Лично я считаю библиотеку MSAjax дерьмом. С помощью плагина jquery.validate (который, кстати, является механизмом проверки на стороне клиента по умолчанию в ASP.NET MVC 3), вы просто применяете класс cancel к кнопке:

<input type="submit" name="BtnSegment" value="Add" class="button_99 cancel" title="Add" />
...