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