upas-web-site/js/validation.js

33 lines
1.7 KiB
JavaScript
Raw Permalink Normal View History

2024-10-09 15:13:24 +04:00
// Модуль используется для валидации форма на странице
// Функция для проверки элементов управления формы на заполненность и корректность
const checkForm = (event) => {
// Получаем ссылку на форму
const form = event.target;
// https://learn.javascript.ru/bubbling-and-capturing
// Если какой-либо элемент формы не заполнен или заполнен с ошибками, то
if (!form.checkValidity()) {
// Отменяем действие по умолчанию
event.preventDefault();
// Предотвратить всплытие события
// Когда на элементе происходит событие, обработчики сначала срабатывают на нём,
// потом на его родителе, затем выше и так далее, вверх по цепочке предков.
// event.stopPropagation();
}
// добавляет к форме класс was-validated
form.classList.add("was-validated");
};
// Функция для привязки обработчика событий
const myValidation = () => {
// Поиск всех форма с классом .needs-validation
const forms = document.querySelectorAll("form.needs-validation");
// Установка функции checkForm в качестве обработчика события submit
forms.forEach((form) => form.addEventListener("submit", checkForm));
};
// Экспорт функции myValidation
export default myValidation;