UNPKG

v-required

Version:

Componente Vue 3 para validação reativa de formulários, facilitando a criação de formulários dinâmicos e interativos com regras de validação personalizáveis.

38 lines (37 loc) 1.42 kB
function a(e, r, u = !1) { if (r === void 0) throw new Error("v-required precisa de um parâmetro, no mínimo o list"); if (typeof r != "object") throw new Error("v-required precisa receber um objeto como parâmetro"); if (!("list" in r)) throw new Error("v-required precisa do parâmetro list no objeto"); if (!Array.isArray(r.list)) throw new Error("v-required precisa que o parâmetro list seja um array"); let o; u ? (o = document.createElement("span"), e.appendChild(o), o.classList.add("v-required-span"), e.classList.add("style-custom-v-required-default")) : o = e.querySelector(".v-required-span"); let i = !1; if (!("activeError" in r) || r.activeError) { const s = r.list; for (let t = 0; t < s.length; t++) if ("condition" in s[t]) { if (s[t].condition) { i = !0, o && (o.innerHTML = s[t].message, e.classList.add("style-custom-v-required-error")); break; } } else throw new Error( "v-required precisa que todos os erros de list, tenham uma condition" ); i || o && (o.innerHTML = "", e.classList.remove("style-custom-v-required-error")); } else "activeError" in r && !r.activeError && o && (o.innerHTML = "", e.classList.remove("style-custom-v-required-error")); } const c = { mounted(e, r) { a(e, r.value, !0); }, updated(e, r) { a(e, r.value); } }; export { c as vRequired };