avoid adding / removing error element twice

This commit is contained in:
Corentin Sechet 2023-04-17 18:12:34 +02:00
parent 32517efece
commit db30896e2d
1 changed files with 11 additions and 4 deletions

View File

@ -854,7 +854,13 @@ const LiveValidation = (function(){
}
showError(field, error, overrideMsg) {
this.widget.classList.add(this.errorClass)
if(!this.hasError) {
this.widget.classList.add(this.errorClass)
this.widget.appendChild(this.errorEl)
field.setAttribute("aria-invalid", "true")
field.setAttribute("aria-describedby", this.errorEl.id)
}
const errorElMessage = document.getElementById(`error_${this.name}_${error}`).innerHTML
this.errorEl.innerHTML = errorElMessage
if(overrideMsg) {
@ -864,13 +870,14 @@ const LiveValidation = (function(){
// this.errorEl.children[0].innerHTML = overrideMsg
// ce qui permet d'enlever le id="error_${this.name}_${error}_message" dans widget.html : à ta guise
}
this.widget.appendChild(this.errorEl)
field.setAttribute("aria-invalid", "true")
field.setAttribute("aria-describedby", this.errorEl.id)
this.hasError = error
}
removeError(field) {
if(!this.hasError) {
return
}
this.errorEl.remove()
field.setAttribute("aria-invalid", "false")
field.setAttribute("aria-describedby", this.errorEl.id)