Как сделать чтобы условие сработывало?

подскажите пожалуйста, не могу найти ошибку свою. Есть проверка на введенные данные в input формы регистрации, надо чтобы после условия, когда введена правильна почта срабатывала return true и дальше срабатывает переход в админку(страница). Сейчас условия работает, но при return true перехода нет. Спасибо заранее.

//email
const submit = document.querySelector('.modal-cover__btn');
const form = document.querySelector('.modal-form');
const pattern = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
form.addEventListener('submit', (event) => {
  event.preventDefault();
    let email = document.querySelector('.modal-cover__email');
    let email_value = document.querySelector('.modal-cover__email').value;
        if (email_value.match(pattern)) {
          email.classList.remove('valid');
          alert('You have entered an invalid email address!');
          return true;
        } else {
          email.classList.add('valid');
          alert('Bad email');
          return false;
      }
});


Ответы (1 шт):

Автор решения: Алексей Шиманский

Если под "переход в админку" имеется в виду, что должен submit всё же сработать, тогда надо event.preventDefault(); переместить в условие, когда email неправильный, а return true; и return false; удалить за ненадобностью

Кстати, при таком варианте и строки

email.classList.remove('valid');
alert('You have entered an invalid email address!');

не нужны. Всё равно страница будет перезагружаться. Можно будет упростить:

if (!email_value.match(pattern)) {
    event.preventDefault();
    email.classList.add('valid');
    alert('Bad email');        
}
→ Ссылка