Отключить проверку элемента с помощью jQuery Unobruusive Validation
В какой-то форме генератор отображает список элементов на странице, и все они имеют на них валидации. Когда я смотрю в источнике HTML, я вижу что-то вроде этого:
<input type="text" id="email" name="email" data-val-required="No valid email address!" data-val="true">
Мне нужно каким-то образом иметь динамический способ включения/выключения проверки для такого элемента. Я попытался включить/отключить атрибут data-val
, установив его на false
, а затем обратно на true
. Но, похоже, это не реагирует на это. Валидация всегда есть!
Кто-нибудь знает, как я могу включать/отключать проверки на определенных полях динамическим способом?
Ответы
Ответ 1
Я действительно нашел решение, которое лучше всего соответствует моим потребностям. Я могу сделать следующее:
$(function() {
var settngs = $.data($('form')[0], 'validator').settings;
settngs.ignore = ".ignore";
});
И с этим я могу "переключить" любой элемент, который хочу, добавив или удалив имя класса ignore
из элемента.
Ответ 2
Я думаю, что это поможет.
<div class="editor-field">
@{ Html.EnableClientValidation(false); }
@Html.TextBoxFor(m => m.BatchId, new { @class = "k-textbox" })
@{ Html.EnableClientValidation(true); }
</div>
Ответ 3
Я думаю, вам нужно написать специальный атрибут проверки, а затем обработать данные самостоятельно в JQuery.
Смотрите эту статью: http://www.devtrends.co.uk/blog/the-complete-guide-to-validation-in-asp.net-mvc-3-part-2