PHP-Course/tasks/calc/formValidation.js

34 lines
828 B
JavaScript

"use strict";
document.addEventListener("DOMContentLoaded", () => {
const _switch = document.getElementById("clientSideValidate");
_switch.addEventListener("change", () =>
_switch.checked ? addValidation() : removeValidation()
);
});
const handler = (event) => {
if (!event.target.checkValidity()) {
event.preventDefault();
event.stopPropagation();
}
event.target.classList.add("was-validated");
};
const addValidation = () => {
const forms = document.querySelectorAll(".needs-validation");
Array.from(forms).forEach((form) => {
form.addEventListener("submit", handler, false);
});
};
const removeValidation = () => {
const forms = document.querySelectorAll(".needs-validation");
Array.from(forms).forEach((form) => {
form.removeEventListener("submit", handler, false);
});
};