// * Input Validation. document.addEventListener("DOMContentLoaded", function () { document.querySelectorAll("input.is-invalid").forEach((input) => { let timer: NodeJS.Timeout|null = null; input.addEventListener("change", () => { const parent = input.parentElement; input.classList.remove("is-invalid"); if (parent && parent.classList.contains("is-invalid")) { parent.classList.remove("is-invalid"); } }); input.addEventListener("input", () => { if (timer) { clearTimeout(timer); } timer = setTimeout(() => { const parent = input.parentElement; input.classList.remove("is-invalid"); if (parent && parent.classList.contains("is-invalid")) { parent.classList.remove("is-invalid"); } }, 250); }); }); });