Есть такая форма:
<form id="form_orderform" >
<label for="username">Ваше имя</label>
<input type="text" id="username" minlength="2" placeholder="Иванов Петр" required />
<label for="mail">E-mail</label>
<input type="email" id="mail" minlength="2" placeholder="mail@mail.ru" required />
<button id="ordersend">Отправить заказ</button>
</form>
Проверяем с помощью jQuery Validate:
$('#ordersend').on('click',function(){
var validator = $( "#form_orderform" );
validator.validate({ submitHandler:function(){} });// убираем стандартную отправку формы
if(validator.valid()){
// Ajax - отправка данных
Все бы хорошо, но при нажатии только первое поле является обязательным и проверяется (хотя если ввести неверный E-mail адрес появляется сообщение, которое удаляется при нажатии по кнопке).
Почему это происходит и как исправить?
Оказалось, validator критичен к валидности кода. И если вы не указали у <input> атрибут name, то это вызывает ошибку. Ошибки можно увидеть в дебаг-режиме:
jQuery.validator.setDefaults({
debug: true
});
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости