11/*!
2- * Client Side Validations JS - v0.4 .0 (https://github.com/DavyJonesLocker/client_side_validations)
2+ * Client Side Validations JS - v0.5 .0 (https://github.com/DavyJonesLocker/client_side_validations)
33 * Copyright (c) 2024 Geremia Taglialatela, Brian Cardarella
44 * Licensed under MIT (https://opensource.org/licenses/mit-license.php)
55 */
@@ -86,7 +86,7 @@ var ClientSideValidations = {
8686 jQuery ( this ) . isValid ( form . ClientSideValidations . settings . validators ) ;
8787 } ,
8888 'change.ClientSideValidations' : function changeClientSideValidations ( ) {
89- jQuery ( this ) . data ( 'changed' , true ) ;
89+ this . dataset . csvChanged = ' true' ;
9090 } ,
9191 'element:validate:after.ClientSideValidations' : function elementValidateAfterClientSideValidations ( eventData ) {
9292 ClientSideValidations . callbacks . element . after ( jQuery ( this ) , eventData ) ;
@@ -111,10 +111,12 @@ var ClientSideValidations = {
111111 inputConfirmation : function inputConfirmation ( $element , form ) {
112112 return {
113113 'focusout.ClientSideValidations' : function focusoutClientSideValidations ( ) {
114- $element . data ( 'changed' , true ) . isValid ( form . ClientSideValidations . settings . validators ) ;
114+ $element [ 0 ] . dataset . csvChanged = 'true' ;
115+ $element . isValid ( form . ClientSideValidations . settings . validators ) ;
115116 } ,
116117 'keyup.ClientSideValidations' : function keyupClientSideValidations ( ) {
117- $element . data ( 'changed' , true ) . isValid ( form . ClientSideValidations . settings . validators ) ;
118+ $element [ 0 ] . dataset . csvChanged = 'true' ;
119+ $element . isValid ( form . ClientSideValidations . settings . validators ) ;
118120 }
119121 } ;
120122 }
@@ -148,7 +150,7 @@ var ClientSideValidations = {
148150 for ( var eventName in eventsToBind ) {
149151 var eventFunction = eventsToBind [ eventName ] ;
150152 $input . filter ( ':not(:radio):not([id$=_confirmation])' ) . each ( function ( ) {
151- jQuery ( this ) . attr ( 'data-validate' , true ) ;
153+ this . dataset . csvValidate = ' true' ;
152154 } ) . on ( eventName , eventFunction ) ;
153155 }
154156 $input . filter ( ':checkbox' ) . on ( 'change.ClientSideValidations' , function ( ) {
@@ -232,7 +234,7 @@ var ClientSideValidations = {
232234 } ,
233235 selectors : {
234236 inputs : ':input:not(button):not([type="submit"])[name]:visible:enabled' ,
235- validate_inputs : ':input:enabled:visible[data-validate]' ,
237+ validate_inputs : ':input:enabled:visible[data-csv- validate]' ,
236238 forms : 'form[data-client-side-validations]'
237239 } ,
238240 validators : {
@@ -248,9 +250,10 @@ var ClientSideValidations = {
248250 if ( $target . is ( 'form' ) ) {
249251 ClientSideValidations . disable ( $target . find ( ':input' ) ) ;
250252 } else {
251- $target . removeData ( [ 'changed' , 'valid' ] ) ;
253+ delete $target [ 0 ] . dataset . csvValid ;
254+ delete $target [ 0 ] . dataset . csvChanged ;
252255 $target . filter ( ':input' ) . each ( function ( ) {
253- jQuery ( this ) . removeAttr ( 'data-validate' ) ;
256+ delete this . dataset . csvValidate ;
254257 } ) ;
255258 }
256259 } ,
@@ -628,13 +631,19 @@ var validateForm = function validateForm($form, validators) {
628631 return valid ;
629632} ;
630633var passElement = function passElement ( $element ) {
631- $element . trigger ( 'element:validate:pass.ClientSideValidations' ) . data ( 'valid' , null ) ;
634+ var element = $element [ 0 ] ;
635+ $element . trigger ( 'element:validate:pass.ClientSideValidations' ) ;
636+ delete element . dataset . csvValid ;
632637} ;
633638var failElement = function failElement ( $element , message ) {
634- $element . trigger ( 'element:validate:fail.ClientSideValidations' , message ) . data ( 'valid' , false ) ;
639+ var element = $element [ 0 ] ;
640+ $element . trigger ( 'element:validate:fail.ClientSideValidations' , message ) ;
641+ element . dataset . csvValid = 'false' ;
635642} ;
636643var afterValidate = function afterValidate ( $element ) {
637- return $element . trigger ( 'element:validate:after.ClientSideValidations' ) . data ( 'valid' ) !== false ;
644+ var element = $element [ 0 ] ;
645+ $element . trigger ( 'element:validate:after.ClientSideValidations' ) ;
646+ return element . dataset . csvValid !== 'false' ;
638647} ;
639648var executeValidator = function executeValidator ( validatorFunctions , validatorFunction , validatorOptions , $element ) {
640649 for ( var validatorOption in validatorOptions ) {
@@ -674,10 +683,10 @@ var isMarkedForDestroy = function isMarkedForDestroy($element) {
674683} ;
675684var executeAllValidators = function executeAllValidators ( $element , validators ) {
676685 var element = $element [ 0 ] ;
677- if ( $ element. data ( 'changed' ) === false || element . disabled ) {
686+ if ( element . dataset . csvChanged === ' false' || element . disabled ) {
678687 return ;
679688 }
680- $ element. data ( 'changed' , false ) ;
689+ element . dataset . csvChanged = ' false' ;
681690 if ( executeValidators ( ClientSideValidations . validators . all ( ) , $element , validators ) ) {
682691 passElement ( $element ) ;
683692 }
0 commit comments