26 lines
1.4 KiB
JavaScript
26 lines
1.4 KiB
JavaScript
|
// модуль валидации формы (проверки данных)
|
|||
|
|
|||
|
function validation() {
|
|||
|
// поиск среди тегов form тех, у которых css класс needs-validation (с bootstrap)
|
|||
|
const forms = document.querySelectorAll("form.needs-validation");
|
|||
|
|
|||
|
for (let i = 0; i < forms.length; i += 1) {
|
|||
|
const form = forms[i];
|
|||
|
// добавление для каждой формы обработчика нажатия на кнопку с id = "submit"
|
|||
|
form.addEventListener("submit", (event) => {
|
|||
|
// если форма не прошла валидацию (зависит от атрибута type у input)
|
|||
|
if (!form.checkValidity()) {
|
|||
|
// отключает стандартное действие (отменяет событие), но будет для
|
|||
|
// всех элементов до тех пор, пока не отменит это методом ниже
|
|||
|
event.preventDefault();
|
|||
|
// предотвращение распространения preventDefault на другие объекты
|
|||
|
event.stopPropagation();
|
|||
|
}
|
|||
|
// добавление к форме класса was-validated
|
|||
|
form.classList.add("was-validated");
|
|||
|
});
|
|||
|
}
|
|||
|
}
|
|||
|
// Экспортироваться будет сама функция
|
|||
|
export default validation;
|