У меня есть функция валидации, которая добавляет классы элементам массива и селекторам. Вот так:
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');
          }
      })
  });