25 lines
962 B
TypeScript
25 lines
962 B
TypeScript
// * 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);
|
|
});
|
|
});
|
|
});
|