Проверка jQuery проверяет только одно поле

Я использую проверку jQuery для проверки формы. У меня есть два текстовых поля в моей форме, и только первый добавит "Это поле обязательно". сообщение. Если я удалю "требуемый" класс из первого, второе будет иметь сообщение.

HTML:

<form id="questionForm">
<div><input class="required" id="value" type="text" /></div>
<div><textarea class="required" id="description"></textarea></div>
<button type="submit">Save</button>
</form>

JavaScript:

$("#questionForm").validate({ submitHandler: function() { 
        alert("valid");
    } 
});

Почему только один проверяется?

Изменить: я использую плагин проверки jQuery 1.7

Изменить 2: Я использую MVC 3

Ответ 1

Я сам столкнулся с этим вопросом. Вытащил волосы на час, но вот он:

Выбросьте также атрибут "name", и это может сделать трюк.

Ответ 2

Не зная, какой плагин проверки вы используете, трудно решить проблему. Однако кажется, что jQuery не проходит через каждое из полей, но останавливается, когда он достигает недопустимого поля. Попробуйте использовать метод jQuery $.each() и используйте некоторые условные выражения, чтобы убедиться, что процесс проверки не останавливается, когда валидатор достигает недопустимого поля.

Надеюсь, что поможет,
spryno724

Ответ 3

Я думаю, что предупреждение блокирует проверку обоих полей. После 1 предупреждения остальная часть javascript останавливается. Что произойдет, если вместо этого вы используете $('#questionForm').validate();?

Ответ 4

Вы должны ввести атрибут name для каждого элемента DOM, который вы хотите проверить, используя функцию Jquery.validate().