Ответ 1
Я сам столкнулся с этим вопросом. Вытащил волосы на час, но вот он:
Выбросьте также атрибут "name", и это может сделать трюк.
Я использую проверку 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
Я сам столкнулся с этим вопросом. Вытащил волосы на час, но вот он:
Выбросьте также атрибут "name", и это может сделать трюк.
Не зная, какой плагин проверки вы используете, трудно решить проблему. Однако кажется, что jQuery не проходит через каждое из полей, но останавливается, когда он достигает недопустимого поля. Попробуйте использовать метод jQuery $.each()
и используйте некоторые условные выражения, чтобы убедиться, что процесс проверки не останавливается, когда валидатор достигает недопустимого поля.
Надеюсь, что поможет,
spryno724
Я думаю, что предупреждение блокирует проверку обоих полей. После 1 предупреждения остальная часть javascript останавливается. Что произойдет, если вместо этого вы используете $('#questionForm').validate();
?
Вы должны ввести атрибут name
для каждого элемента DOM, который вы хотите проверить, используя функцию Jquery.validate()
.