From 10a233af1a1a0feee23757ebc6460c3f1b63d0c2 Mon Sep 17 00:00:00 2001 From: Dan Remollino Date: Sat, 5 Apr 2025 19:54:29 -0400 Subject: [PATCH] parseField workflow updates; fixed fields not resetting validation state when form is submitted --- validation.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/validation.js b/validation.js index 965fbf4..58ab741 100644 --- a/validation.js +++ b/validation.js @@ -263,7 +263,8 @@ class Validation { parseField(fieldInstance) { const nameAttrVal = fieldInstance.el.name - if (this.validateForBlank(fieldInstance)) { + if (!fieldInstance.optional && this.validateForBlank(fieldInstance) || + (fieldInstance.optional && fieldInstance.el.value !== '')) { switch (fieldInstance.el.type) { case 'checkbox': this.validateCheckbox(fieldInstance, nameAttrVal) @@ -290,7 +291,7 @@ class Validation { } validateForBlank(fieldInstance) { - if (!fieldInstance.el.value && !fieldInstance.optional) { + if (!fieldInstance.el.value) { this.addError( fieldInstance, (fieldInstance.labelText ? fieldInstance.labelText : `Field`) + ` is required.` @@ -397,6 +398,8 @@ class Validation { } else { for (const error of this.errors) { updateMarkup(error) + error.isValid = true + error.messageOutputted = false } this.errors.length = 0 }