diff --git a/lib/src/form/src/form_field.dart b/lib/src/form/src/form_field.dart index cacf52e..3911acb 100644 --- a/lib/src/form/src/form_field.dart +++ b/lib/src/form/src/form_field.dart @@ -92,6 +92,7 @@ class _AstromicFormFieldState extends State> { // //SECTION - State Variables //s1 --State + late bool _useFieldValidation; late AstromicFieldState _currentState; //s1 --State // @@ -110,6 +111,7 @@ class _AstromicFormFieldState extends State> { //SECTION - State Variables initializations & Listeners //s1 --State _currentState = AstromicFieldState.idle; + _useFieldValidation = false; //s1 --State // //s1 --Controllers & Listeners @@ -194,6 +196,9 @@ class _AstromicFormFieldState extends State> { setState(() { if (widget.resetMessageOnChange ?? false) { widget.formController.resetState(widget.formID); + setState(() { + _useFieldValidation = false; + }); } if (widget.onChanged != null) { widget.onChanged!(s, _currentState); @@ -210,6 +215,7 @@ class _AstromicFormFieldState extends State> { validator: (widget.validators != null && widget.validators!.isNotEmpty) ? (bool enabled, bool focused, String? s) { widget.formController.resetState(widget.formID); + _useFieldValidation = true; // List validators = []; // @@ -225,7 +231,7 @@ class _AstromicFormFieldState extends State> { if (checks.containsValue(false)) { // It has an Error! _setFieldErrorState(widget.formID, checks.entries.where((MapEntry e) => e.value == false).toList().first.key.message); - return ''; + return _useFieldValidation?'' : null; } else { // It has no Errors! return null;