Skip to content

Commit 082b9eb

Browse files
maitamdevDHV Team
andcommitted
feat(utils): add form utility helpers
Co-authored-by: DHV Team <dhvteam@users.noreply.github.com>
1 parent 4d7b11d commit 082b9eb

1 file changed

Lines changed: 20 additions & 0 deletions

File tree

src/utils/formUtils.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// Form utility helpers
2+
export function serializeForm(form: HTMLFormElement): Record<string, string> {
3+
const data: Record<string, string> = {};
4+
const formData = new FormData(form);
5+
formData.forEach((value, key) => { data[key] = value.toString(); });
6+
return data;
7+
}
8+
export function resetForm(form: HTMLFormElement): void { form.reset(); }
9+
export function isFormDirty(form: HTMLFormElement, originalValues: Record<string, string>): boolean {
10+
const currentValues = serializeForm(form);
11+
return Object.keys(originalValues).some(key => originalValues[key] !== currentValues[key]);
12+
}
13+
export function setFormErrors(errors: Record<string, string>): void {
14+
Object.entries(errors).forEach(([field, message]) => {
15+
const el = document.querySelector('[name=""' + field + '""]');
16+
if (el) el.setAttribute('aria-invalid', 'true');
17+
const errEl = document.getElementById(field + '-error');
18+
if (errEl) errEl.textContent = message;
19+
});
20+
}

0 commit comments

Comments
 (0)