upas-web-site/js/validation.js
2024-10-09 15:13:24 +04:00

33 lines
1.7 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Модуль используется для валидации форма на странице
// Функция для проверки элементов управления формы на заполненность и корректность
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;