Использование Asp.Net MVC3 с ненавязчивой проверкой.У меня есть форма, которая имеет несколько полей ввода.Одно из полей довольно простое:
<input id="Name" class="valid" type="text" value="" name="Name" data-val-required="Enter your name." data-val-length-min="5" data-val-length-max="50" data-val-length="Enter a valid name." data-val="true">
У меня есть несколько js, которые проверяют форму и отправляют ее, только если проверка на стороне клиента проходит как в:
var $form = $('#contact_form');
var formAction = $form.attr('action');
var serialized = $form.serialize();
if ($form.validate().valid()) {...
ТеперьПоследняя строка всегда возвращает истину (да, у меня есть ненавязчивый включен).Однако, если я изменю последнюю строку на:
if ($form.validate().element('#Name')) { ...
Это прекрасно работает и возвращает false.У меня много полей, и я не хочу перебирать каждое из них, и меня смущает вопрос, почему при проверке всей формы она говорит «истина», но проверка каждого отдельного элемента возвращает «ложь» правильно.
То, что я пробовал: - повторная обработкаформа через ненавязчивый $ .validator.parse (... безрезультатно. Это не динамическая форма, которая отображается при загрузке страницы.
Примечание: я также проверил этот jquery (v1.6.2) jquery.validate.min.js (v1.8.1) и jquery.validate.unobtrusive.min.js загружаются в браузер.