From c8a0f4b3a24b12347ed5a645ae87c5cec75f9d71 Mon Sep 17 00:00:00 2001 From: Alice Gaudon Date: Mon, 15 Jun 2020 12:09:08 +0200 Subject: [PATCH] Add window.applyFormMessages --- assets/js/forms.js | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/assets/js/forms.js b/assets/js/forms.js index 4161467..dd3f184 100644 --- a/assets/js/forms.js +++ b/assets/js/forms.js @@ -8,4 +8,22 @@ document.addEventListener('DOMContentLoaded', () => { }); } }); -}); \ No newline at end of file +}); + +window.applyFormMessages = function (formElement, messages) { + for (const fieldName of Object.keys(messages)) { + const field = formElement.querySelector('#field-' + fieldName); + let parent = field.parentElement; + while (parent && !parent.classList.contains('form-field')) parent = parent.parentElement; + + if (field) { + let err = field.querySelector('.error'); + if (!err) { + err = document.createElement('div'); + err.classList.add('error'); + parent.insertBefore(err, parent.querySelector('.hint') || parent); + } + err.innerHTML = ` ${messages[fieldName].message}`; + } + } +} \ No newline at end of file