1
1
/*!
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)
3
3
* Copyright (c) 2024 Geremia Taglialatela, Brian Cardarella
4
4
* Licensed under MIT (https://opensource.org/licenses/mit-license.php)
5
5
*/
@@ -86,7 +86,7 @@ var ClientSideValidations = {
86
86
jQuery ( this ) . isValid ( form . ClientSideValidations . settings . validators ) ;
87
87
} ,
88
88
'change.ClientSideValidations' : function changeClientSideValidations ( ) {
89
- jQuery ( this ) . data ( 'changed' , true ) ;
89
+ this . dataset . csvChanged = ' true' ;
90
90
} ,
91
91
'element:validate:after.ClientSideValidations' : function elementValidateAfterClientSideValidations ( eventData ) {
92
92
ClientSideValidations . callbacks . element . after ( jQuery ( this ) , eventData ) ;
@@ -111,10 +111,12 @@ var ClientSideValidations = {
111
111
inputConfirmation : function inputConfirmation ( $element , form ) {
112
112
return {
113
113
'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 ) ;
115
116
} ,
116
117
'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 ) ;
118
120
}
119
121
} ;
120
122
}
@@ -148,7 +150,7 @@ var ClientSideValidations = {
148
150
for ( var eventName in eventsToBind ) {
149
151
var eventFunction = eventsToBind [ eventName ] ;
150
152
$input . filter ( ':not(:radio):not([id$=_confirmation])' ) . each ( function ( ) {
151
- jQuery ( this ) . attr ( 'data-validate' , true ) ;
153
+ this . dataset . csvValidate = ' true' ;
152
154
} ) . on ( eventName , eventFunction ) ;
153
155
}
154
156
$input . filter ( ':checkbox' ) . on ( 'change.ClientSideValidations' , function ( ) {
@@ -232,7 +234,7 @@ var ClientSideValidations = {
232
234
} ,
233
235
selectors : {
234
236
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]' ,
236
238
forms : 'form[data-client-side-validations]'
237
239
} ,
238
240
validators : {
@@ -248,9 +250,10 @@ var ClientSideValidations = {
248
250
if ( $target . is ( 'form' ) ) {
249
251
ClientSideValidations . disable ( $target . find ( ':input' ) ) ;
250
252
} else {
251
- $target . removeData ( [ 'changed' , 'valid' ] ) ;
253
+ delete $target [ 0 ] . dataset . csvValid ;
254
+ delete $target [ 0 ] . dataset . csvChanged ;
252
255
$target . filter ( ':input' ) . each ( function ( ) {
253
- jQuery ( this ) . removeAttr ( 'data-validate' ) ;
256
+ delete this . dataset . csvValidate ;
254
257
} ) ;
255
258
}
256
259
} ,
@@ -628,13 +631,19 @@ var validateForm = function validateForm($form, validators) {
628
631
return valid ;
629
632
} ;
630
633
var 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 ;
632
637
} ;
633
638
var 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' ;
635
642
} ;
636
643
var 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' ;
638
647
} ;
639
648
var executeValidator = function executeValidator ( validatorFunctions , validatorFunction , validatorOptions , $element ) {
640
649
for ( var validatorOption in validatorOptions ) {
@@ -674,10 +683,10 @@ var isMarkedForDestroy = function isMarkedForDestroy($element) {
674
683
} ;
675
684
var executeAllValidators = function executeAllValidators ( $element , validators ) {
676
685
var element = $element [ 0 ] ;
677
- if ( $ element. data ( 'changed' ) === false || element . disabled ) {
686
+ if ( element . dataset . csvChanged === ' false' || element . disabled ) {
678
687
return ;
679
688
}
680
- $ element. data ( 'changed' , false ) ;
689
+ element . dataset . csvChanged = ' false' ;
681
690
if ( executeValidators ( ClientSideValidations . validators . all ( ) , $element , validators ) ) {
682
691
passElement ( $element ) ;
683
692
}
0 commit comments