Показать сообщение отдельно
  #1 (permalink)  
Старый 18.07.2021, 21:59
Новичок на форуме
Отправить личное сообщение для Qsnakes Посмотреть профиль Найти все сообщения от Qsnakes
 
Регистрация: 18.07.2021
Сообщений: 5

Не работает код валидации на JS
Ребят, только новичок в теме разработки, помогите найти ошибку в коде, целый день потратил на это, будут полезны любые советы.

p.s консоль выдает ошибки на: 59, 30, 10 строке кода



"use strict"

document.addEventListener('DOMContentLoaded', function () {
    const form = document.getElementById('form');
    form.addEventListener('submit', formSend);

    async function formSend(e) {
        e.preventDefault();

        const error = formValidate(form);

        if (error === 0) {
            
        } else {
            alert('Заполните обязательные поля');
        }

    }


    function formValidate(form) {
        let error = 0;
        let formReq = document.querySelectorAll('._zxc');

        for (let index = 0; index < formReq.length; index++) {
            const input = formReq[index];
            formRemoveError(input);

            if (input.classList.contains('_email')) {
                if (emailTest(input)) {
                    formAddError(input);
                    error++;
                }
            } else if (input.getAttribute("type") === 'checkbox' && input.checkbox === false) {
                formAddError(input)
                error++;
            } else {
                if (input.value === '') {
                    formAddError(input);
                    error++;
                }
            }
        }
        return error;
    }

    function formAddError(input) {
        input.parentElement.classList.add('_error');
        input.classList.add('_error');
    }

    function formRemoveError(input) {
        input.parentElement.classList.remove('_error');
        input.classList.remove('_error');
    }

    //Функция проверки E-mail
    function emailTest(input) {
        const re = !/^\w+([\.-]?\w+)*@\w+)[\.-]?\w+)*(\.\w{2,8})+$/
        return re.test(input.value);
    }
});
Ответить с цитированием