Учусь верстать страничку с валидацией формы. Копирую с урока на ютубе, вроде бы один в один - проверял, но срипт не работает.
По замыслу скрипт должен проверять инпуты с классом
_req и добавлять класс
_error полям не прошедшим валидацию, подсвечивая красным цветом, но ничего не проихсодит. Браузер выдает ошибку:
Cannot read property 'classList' of undefined'
Скрипт на даном этапе выглядит так
"use strict"
document.addEventListener('DOMContentLoaded', function () {
const form = document.getElementById('form');
form.addEventListener('submit', formSend);
async function formSend(e) {
e.preventDefault();
let error = formValidate(form);
}
function formValidate(form) {
let error = 0;
let formReq = document.querySelectorAll('._req');
for (let index = 0; index < formReq.length; index++) {
const input = formReq[index];
formRemoveError('input');
if (input.classList.contains('_email')) {
if (emailTest(input)) {
formAdError(input);
error++;
}
} else if(input.getAttribute("type") === "checkbox" && input.checked === false) {
error++;
} else {
if(input.value === '') {
formAddError(input);
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');
}
function emailTest(input) {
return !/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,8})+$/.test(input.value);
}
});
Подключаю скрипт перед закрытием тега body, в наличии проверочного класса
_req у соотвествующих элементов убедился. В чем ошибка -- понять не могу.