Задать вопрос
@GaserV

Почему валидация формы происходит только после второго сабмита?

Такая проблема. Для валидации формы использую плагин - jqueryvalidation.org. Повесил листенер на клик и при клике делаю валидацию формы. Но первы клик игнорируется, только после второго. Вообще думаю лучше сделать валидацию поля сразу при его изменении (при keypress например). Но до этого хотел бы разобраться, почему первый клик игнорируется.

Пробовал уже $('body').on('submit', '#user_edit', e => {}); и просто $('#user_edit').submit(); но все равно валидация происходит только после второго клика. В чем проблема?
  • Вопрос задан
  • 240 просмотров
Подписаться 1 Оценить 5 комментариев
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию
    6 месяцев
    Далее
Решения вопроса 1
Я подозреваю, что валидацию ты активируешь внутри клика, а надо ДО клика
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
ThunderCat
@ThunderCat Куратор тега JavaScript
{PHP, MySql, HTML, JS, CSS} developer
RTFM ЕПТА!
$("#идГребаннойФормы").validate();
Ответ написан
Комментировать
@GaserV Автор вопроса
$('body').on('submit', '#user_edit', e => {
    e.preventDefault();

    $(e.currentTarget).validate({
      rules: {
        firstname: {
          required: true,
        },
        lastname: {
          required: true,
        },
      },
      errorPlacement(error, element) {
        if (element[0].localName === 'select') {
          error.insertAfter($(element[0]).next());
        }
        else {
          error.insertAfter(element);
        }
      }
    });
  })
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы