File: /var/www/quadcode/frontend/src/js/components/form/ErrorHandler.js
export const handle = (errors = {}, form, formName) => {
if (!formName) {
console.error('Error handling cannot be done due to missing the form name');
return;
}
resetError(form);
for (let inputName in errors) {
const input = form.querySelector(`#${formName}-${inputName}`);
if (!input) continue;
const field = input.closest('.form-field') || input.closest('.checkbox');
const error = field?.querySelector('.form-field__error') || field?.querySelector('.checkbox__error');
if (error) {
error.innerHTML = errors[inputName];
}
if (!field) continue;
field.classList.add('error');
}
}
export const resetError = (form) => {
if (!form) return false;
const field = form.querySelectorAll('.form-field.error');
const checkbox = form.querySelectorAll('.checkbox.error')
if (checkbox !== 0) {
Array.from(checkbox).forEach(el => el.classList.remove('error'));
}
if (field !== 0) {
Array.from(field).forEach(el => el.classList.remove('error'));
}
}