@maitre

Почему не работает валидация формы в JS?

Вопрос по валидации формы.
Почему если данные в форму вводятся правильно с первого раза, то все работает как надо, а если со второго, то заполнение формы всегда будет неправильным?
В .submit после первой отправки формы с ошибкой переменная validate становится false и на true уже не меняется...
Вот сокращенный вариант кода:
var validate = true;

function checkLogin() {
    if (/* Неправильный ввод */) {
      validate = false;
    }
 }

  $('.login').on('blur', function() {
    checkLogin();
  });

$('.submit').on('click', function(e) {
  checkLogin();

  if (validate) {
    alert('Форма успешно отправлена!');
  } else {
    e.preventDefault();
  }
});
  • Вопрос задан
  • 241 просмотр
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Сбрасывайте значение validate перед проверкой:

validate = true;
if (/* проверка введённых данных */) {
  validate = false;
}

Или вообще избавьтесь от условного оператора (надо только будет инвертировать результат, чтобы проверка выдавала true, когда всё хорошо):

validate = /* проверка введённых данных */
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы