Skip to content

Commit 0e6526d

Browse files
authored
fix(form): remove errors on clear, reset and non inline revalidations
Whenever a form was cleared or reset by their respective behaviors clear or reset, any existing error messages were not removed Additionally , when form fields are revalidated after they have been invalidated the error message was still visible in the error messages. However this was not the case when the form had inline errors.
1 parent 57f919b commit 0e6526d

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

src/definitions/behaviors/form.js

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,7 @@ $.fn.form = function(parameters) {
219219
$field.val('');
220220
}
221221
});
222+
module.remove.states();
222223
},
223224

224225
reset: function() {
@@ -259,8 +260,7 @@ $.fn.form = function(parameters) {
259260
$field.val(defaultValue);
260261
}
261262
});
262-
263-
module.determine.isDirty();
263+
module.remove.states();
264264
},
265265

266266
determine: {
@@ -461,6 +461,9 @@ $.fn.form = function(parameters) {
461461
module.timer = setTimeout(function() {
462462
module.debug('Revalidating field', $field, module.get.validation($field));
463463
module.validate.field( validationRules );
464+
if(!settings.inline) {
465+
module.validate.form(false,true);
466+
}
464467
}, settings.delay);
465468
}
466469
}
@@ -918,6 +921,17 @@ $.fn.form = function(parameters) {
918921
},
919922

920923
remove: {
924+
errors: function() {
925+
module.debug('Removing form error messages');
926+
$message.empty();
927+
},
928+
states: function() {
929+
$module.removeClass(className.error).removeClass(className.success);
930+
if(!settings.inline) {
931+
module.remove.errors();
932+
}
933+
module.determine.isDirty();
934+
},
921935
rule: function(field, rule) {
922936
var
923937
rules = Array.isArray(rule)
@@ -1163,6 +1177,9 @@ $.fn.form = function(parameters) {
11631177
if( module.determine.isValid() ) {
11641178
module.debug('Form has no validation errors, submitting');
11651179
module.set.success();
1180+
if(!settings.inline) {
1181+
module.remove.errors();
1182+
}
11661183
if(ignoreCallbacks !== true) {
11671184
return settings.onSuccess.call(element, event, values);
11681185
}

0 commit comments

Comments
 (0)