Validate не проверяет все поля

233
13 октября 2017, 15:33

Есть такая форма:

<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 адрес появляется сообщение, которое удаляется при нажатии по кнопке).

Почему это происходит и как исправить?

Answer 1

Оказалось, validator критичен к валидности кода. И если вы не указали у <input> атрибут name, то это вызывает ошибку. Ошибки можно увидеть в дебаг-режиме:

jQuery.validator.setDefaults({
  debug: true
});
READ ALSO
Перевод Даты в секунды

Перевод Даты в секунды

Добрый день, подскажите пожалуйста, как можно перевести в секунды (секунды с 1 января 1970 года) форматы дат типа 00:56:20 1110

406
Почему кнопки ложатся под логотип? [требует правки]

Почему кнопки ложатся под логотип? [требует правки]

Почему кнопки которые находятся в одном блоке с блоком логотипа, ложатся под него? Мне нужно что бы кнопки были на уровне лого, а не под ним

200