34 lines
828 B
JavaScript
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);
|
|
});
|
|
};
|