AJAX отправляет пустую форму с пустыми полями, как исправить?
Здравствуйте. В курсе "Веб-разработчик с нуля до результата" после урока 3.21 остался вопрос, как отменить отправку формы , если валидация не пройдена? У меня форма отсылается в любом случае, даже если поля не заполнены. Вроде по документации сказано, что надо использовать submitHandler, но я не понимаю, где его применять.
/* валидация форм */
function validateForms(form) {
$(form).validate({
rules: {
name: "required",
phone: "required",
email: {
required: true,
email: true
}
},
messages: {
name: "Пожалуйста, введите имя",
phone: "Пожалуйста, введите номер телефона",
email: {
required: "Пожалуйста, введите почту",
email: "Адрес почты должен содержать формат name@domain.com"
}
}
});
};
validateForms('#consultation-form');
validateForms('#consultation form');
validateForms('#order form');
/* отправка данных с помощью ajax*/
$('form').submit(function (e) {
e.preventDefault();
$.ajax({
type: "POST",
url: "mailer/smart.php",
data: $(this).serialize()
}).done(function() {
$(this).find("input").val("");
$('#consultation, #order').fadeOut();
$('.overlay, #thanks').fadeIn('slow');
$('form').trigger('reset');
});
return false;
});