У меня есть функция валидации, которая добавляет классы элементам массива и селекторам. Вот так:
requiredBoxes.forEach(function (input) {
if (requiredCheckedBoxes.length === 0) {
input.classList.add('input-error');
} else {
input.classList.remove('input-error');
}
});
if (!validateEmail(emailInput.value)) {
emailInput.classList.add('input-error');
} else {
emailInput.classList.remove('input-error');
}
if (phoneInput.value.length < 16) {
phoneInput.classList.add('input-error');
} else {
phoneInput.classList.remove('input-error');
}
Мне нужно применять эту функцию в 2-х местах - addEventListener('submit') и addEventListener('blur').
Вопрос: как это все написать без повторений, учитывая, что добавлять-удалять классы нужно как у элементов массива, так и у отдельных селекторов?
Я ведь не могу вынести addEventListener за пределы цикла:
requiredInputs.forEach(function (input) {
input.addEventListener('blur', () => {
if (input.value === '') {
input.classList.add('input-error');
} else {
input.classList.remove('input-error');
}
})
});