refactored dependant field check
This commit is contained in:
@ -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
|
||||
|
Reference in New Issue
Block a user