refactored dependant field check

This commit is contained in:
2025-04-12 11:29:12 -04:00
parent 19d97f1190
commit 28e5b39962

View File

@ -98,16 +98,21 @@ class ValidationField {
// dependant fields
if (this.dependant) {
const parent = this.validationInstance.form.querySelector(`[name=${this.dependant}]`)
const parents = this.validationInstance.form.querySelectorAll(`[name="${this.dependant}"]`)
const depCheck = () => {
parent.value
? this.el.removeAttribute('disabled')
: this.el.setAttribute('disabled', 'disabled')
if (((parents[0].type === 'checkbox' || parents[0].type === 'radio') && this.validationInstance.form.querySelectorAll(`[name="${this.dependant}"]:checked`).length > 0) ||
(((parents[0].type !== 'checkbox' && parents[0].type !== 'radio') && parents[0].value))) {
this.el.removeAttribute('disabled')
} else {
this.el.setAttribute('disabled', 'disabled')
}
}
depCheck()
parent.addEventListener('input', depCheck)
for (const parent of parents) {
parent.addEventListener('input', depCheck)
}
}
// add required indicator