Skip to content

Commit 21f73e1

Browse files
committed
Set css class of element depending on validation
Desired Behavior: Elements change their appearance after validating. Eg. input fields get a green border after sucessfull validating, or a red one if validating fails. Solution: This can be done simply via declaring to css classes for sucess/failure. Currently it's possible via functions onFieldSuccess/onFieldFailure, but it's much more easy this way.
1 parent 2c29415 commit 21f73e1

File tree

1 file changed

+31
-1
lines changed

1 file changed

+31
-1
lines changed

js/jquery.validationEngine.js

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -708,9 +708,36 @@
708708
} else if (!options.isError) {
709709
options.InvalidFields.splice(errindex, 1);
710710
}
711-
711+
712+
methods._handleStatusCssClasses(field, options);
713+
712714
return options.isError;
713715
},
716+
/**
717+
* Handling css classes of fields indicating result of validation
718+
*
719+
* @param {jqObject}
720+
* field
721+
* @param {Array[String]}
722+
* field's validation rules
723+
* @private
724+
*/
725+
_handleStatusCssClasses: function(field, options) {
726+
/* remove all classes */
727+
if(options.addSuccessCssClassToField)
728+
field.removeClass(options.addSuccessCssClassToField);
729+
730+
if(options.addFailureCssClassToField)
731+
field.removeClass(options.addFailureCssClassToField);
732+
733+
/* Add classes */
734+
if (options.addSuccessCssClassToField && !options.isError)
735+
field.addClass(options.addSuccessCssClassToField);
736+
737+
if (options.addFailureCssClassToField && options.isError)
738+
field.addClass(options.addFailureCssClassToField);
739+
},
740+
714741
/********************
715742
* _getErrorMessage
716743
*
@@ -1881,6 +1908,9 @@
18811908
onFieldFailure: false,
18821909
onFormSuccess: false,
18831910
onFormFailure: false,
1911+
addSuccessCssClassToField: false,
1912+
addFailureCssClassToField: false,
1913+
18841914
// Auto-hide prompt
18851915
autoHidePrompt: false,
18861916
// Delay before auto-hide

0 commit comments

Comments
 (0)