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;
|