1
- /** File generated by Grunt -- do not modify
2
- * JQUERY-FORM-VALIDATOR
1
+ ( function ( root , factory ) {
2
+ if ( typeof define === 'function' && define . amd ) {
3
+ // AMD. Register as an anonymous module unless amdModuleId is set
4
+ define ( [ "jquery" ] , function ( a0 ) {
5
+ return ( factory ( a0 ) ) ;
6
+ } ) ;
7
+ } else if ( typeof module === 'object' && module . exports ) {
8
+ // Node. Does not work with strict CommonJS, but
9
+ // only CommonJS-like environments that support module.exports,
10
+ // like Node.
11
+ module . exports = factory ( require ( "jquery" ) ) ;
12
+ } else {
13
+ factory ( root [ "jQuery" ] ) ;
14
+ }
15
+ } ( this , function ( jQuery ) {
16
+
17
+ /**
18
+ * jQuery Form Validator Module: Color
19
+ * ------------------------------------------
20
+ * Created by dszymczuk <https://github.com/dszymczuk>
3
21
*
4
- * @version 2.3.77
5
- * @website http://formvalidator.net/
6
- * @author Victor Jonsson, http://victorjonsson.se
7
- * @license MIT
22
+ *
23
+ * This form validation module adds validators for some color formats like: hex, rgb, rgba, hsl, hsla.
24
+ * Also it allow to use transparent as color
25
+ * This module adds the following validators:
26
+ * - color
27
+ *
28
+ * @license MIT
8
29
*/
9
- ! function ( a , b ) { "function" == typeof define && define . amd ?define ( [ "jquery" ] , function ( a ) { return b ( a ) } ) :"object" == typeof module && module . exports ?module . exports = b ( require ( "jquery" ) ) :b ( a . jQuery ) } ( this , function ( a ) { ! function ( a ) { a . formUtils . registerLoadedModule ( "color" ) ; var b = function ( a ) { return / ^ ( \- | \+ ) ? ( [ 0 - 9 ] + ( \. [ 0 - 9 ] + ) ? | I n f i n i t y ) $ / . test ( a ) ?Number ( a ) :NaN } , c = function ( a ) { return a > 0 && a < 1 } ; a . formUtils . addValidator ( { name :"hex" , validatorFunction :function ( a , b ) { if ( "true" === b . valAttr ( "allow-transparent" ) && "transparent" === a ) return ! 0 ; var c = "#" === a [ 0 ] ; if ( ! c ) return ! 1 ; var d = 4 === a . length || 7 === a . length ; if ( d ) { var e = / [ 0 - 9 a - f ] / i, f = a . slice ( 1 ) . split ( "" ) , g = ! 0 ; return f . forEach ( function ( a ) { null === a . match ( e ) && ( g = ! 1 ) } ) , g } return ! 1 } , errorMessage :"" , errorMessageKey :"badHex" } ) , a . formUtils . addValidator ( { name :"rgb" , validatorFunction :function ( a , b ) { if ( "true" === b . valAttr ( "allow-transparent" ) && "transparent" === a ) return ! 0 ; var c = a . replace ( / / g, "" ) , d = / r g b \( [ 0 - 9 ] { 1 , 3 } , [ 0 - 9 ] { 1 , 3 } , [ 0 - 9 ] { 1 , 3 } \) / i; if ( c . match ( d ) ) { var e = c . replace ( / r g b / g, "" ) , f = e . replace ( / \( / g, "" ) . replace ( / \) / g, "" ) , g = f . split ( "," ) , h = ! 0 ; return g . forEach ( function ( a ) { var b = parseInt ( a , 10 ) ; ( Number . isInteger ( b ) && 0 <= b && b <= 255 ) === ! 1 && ( h = ! 1 ) } ) , h } return ! 1 } , errorMessage :"" , errorMessageKey :"badRgb" } ) , a . formUtils . addValidator ( { name :"rgba" , validatorFunction :function ( a , d ) { if ( "true" === d . valAttr ( "allow-transparent" ) && "transparent" === a ) return ! 0 ; var e = a . replace ( / / g, "" ) , f = / r g b a \( [ 0 - 9 ] { 1 , 3 } , [ 0 - 9 ] { 1 , 3 } , [ 0 - 9 ] { 1 , 3 } , [ 0 , 1 ] ? .? [ 0 - 9 ] * \) / i; if ( e . match ( f ) ) { var g = e . replace ( / r g b a / g, "" ) , h = g . replace ( / \( / g, "" ) . replace ( / \) / g, "" ) , i = h . split ( "," ) , j = ! 0 ; return i . forEach ( function ( a , d ) { var e = b ( a ) ; if ( Number . isInteger ( e ) ) { var f = e >= 0 && e <= 255 ; f || ( j = ! 1 ) , j && 3 === d && ( j = e >= 0 && e < 2 ) } else c ( a ) || ( j = ! 1 ) } ) , j } return ! 1 } , errorMessage :"" , errorMessageKey :"badRgba" } ) , a . formUtils . addValidator ( { name :"hsl" , validatorFunction :function ( a , b ) { if ( "true" === b . valAttr ( "allow-transparent" ) && "transparent" === a ) return ! 0 ; var c = a . replace ( / / g, "" ) , d = / h s l \( - ? [ 0 - 9 ] { 1 , 3 } , [ 0 - 9 ] { 1 , 3 } % , [ 0 - 9 ] { 1 , 3 } % \) / i; if ( c . match ( d ) ) { var e = c . replace ( / h s l / g, "" ) , f = e . replace ( / \( / g, "" ) . replace ( / \) / g, "" ) , g = f . split ( "," ) , h = ! 0 ; return g . forEach ( function ( a , b ) { var c = parseInt ( a , 10 ) ; if ( Number . isInteger ( c ) ) { if ( 0 !== b ) { var d = c >= 0 && c <= 100 ; d || ( h = ! 1 ) } } else h = ! 1 } ) , h } return ! 1 } , errorMessage :"" , errorMessageKey :"badHsl" } ) , a . formUtils . addValidator ( { name :"hsla" , validatorFunction :function ( a , c ) { if ( "true" === c . valAttr ( "allow-transparent" ) && "transparent" === a ) return ! 0 ; var d , e = a . replace ( / / g, "" ) , f = / h s l a \( - ? [ 0 - 9 ] { 1 , 3 } , [ 0 - 9 ] { 1 , 3 } % , [ 0 - 9 ] { 1 , 3 } % , [ 0 , 1 ] ? .? [ 0 - 9 ] * \) / i; if ( e . match ( f ) ) { var g = e . replace ( / h s l a / g, "" ) , h = g . replace ( / \( / g, "" ) . replace ( / \) / g, "" ) , i = h . split ( "," ) , j = ! 0 ; return i . forEach ( function ( a , c ) { var e = b ( a ) , f = parseInt ( a , 10 ) ; Number . isInteger ( e ) ?( 0 !== c && 3 !== c && ( d = e >= 0 && e <= 100 , d || ( j = ! 1 ) ) , j && 3 === c && ( j = e >= 0 && e < 2 ) ) :isNaN ( e ) && Number . isInteger ( f ) ?( d = f >= 0 && f <= 100 , d || ( j = ! 1 ) ) :( e = b ( Number ( a ) . toFixed ( 20 ) ) , d = e >= 0 && e <= 1 , d || ( j = ! 1 ) ) } ) , j } return ! 1 } , errorMessage :"" , errorMessageKey :"badHsla" } ) } ( a ) } ) ;
30
+ ( function ( $ ) {
31
+
32
+ $ . formUtils . registerLoadedModule ( 'color' ) ;
33
+
34
+ /*
35
+ HELPER FUNCTIONS
36
+ */
37
+ var filterFloat = function ( value ) {
38
+ if ( / ^ ( \- | \+ ) ? ( [ 0 - 9 ] + ( \. [ 0 - 9 ] + ) ? | I n f i n i t y ) $ /
39
+ . test ( value ) ) {
40
+ return Number ( value ) ;
41
+ }
42
+
43
+ return NaN ;
44
+ } ;
45
+
46
+ var isBetween0and1 = function ( value ) {
47
+ return value > 0 && value < 1 ;
48
+ } ;
49
+
50
+ // workaround for PhantomJS
51
+ // https://github.com/ariya/phantomjs/issues/14014
52
+ // can't use Number.isInteger
53
+ var isInteger = function ( value ) {
54
+ return Math . floor ( value ) === value && $ . isNumeric ( value ) ;
55
+ } ;
56
+
57
+ /**
58
+ * Check HEX format
59
+ */
60
+ $ . formUtils . addValidator ( {
61
+ name : 'hex' ,
62
+ validatorFunction : function ( val , $el ) {
63
+ if ( $el . valAttr ( 'allow-transparent' ) === 'true' && val === 'transparent' ) {
64
+ return true ;
65
+ }
66
+
67
+ var startWithHex = val [ 0 ] === '#' ;
68
+ if ( ! startWithHex ) {
69
+ return false ;
70
+ }
71
+
72
+ var isCorrectLength = val . length === 4 || val . length === 7 ;
73
+
74
+ if ( isCorrectLength ) {
75
+ var regex = / [ 0 - 9 a - f ] / i;
76
+ var valueSliced = val . slice ( 1 ) . split ( '' ) ;
77
+ var isValid = true ;
78
+ valueSliced . forEach ( function ( i ) {
79
+ if ( i . match ( regex ) === null ) {
80
+ isValid = false ;
81
+ }
82
+ } ) ;
83
+ return isValid ;
84
+ }
85
+
86
+ return false ;
87
+ } ,
88
+ errorMessage : '' ,
89
+ errorMessageKey : 'badHex'
90
+ } ) ;
91
+
92
+ /**
93
+ * Check RGB format
94
+ */
95
+ $ . formUtils . addValidator ( {
96
+ name : 'rgb' ,
97
+ validatorFunction : function ( val , $el ) {
98
+ if ( $el . valAttr ( 'allow-transparent' ) === 'true' && val === 'transparent' ) {
99
+ return true ;
100
+ }
101
+
102
+ var removedSpace = val . replace ( / / g, '' ) ;
103
+ var regex = / r g b \( [ 0 - 9 ] { 1 , 3 } , [ 0 - 9 ] { 1 , 3 } , [ 0 - 9 ] { 1 , 3 } \) / i;
104
+
105
+ if ( removedSpace . match ( regex ) ) {
106
+ var removeRgbCall = removedSpace . replace ( / r g b / g, '' ) ;
107
+ var removeBrackets = removeRgbCall . replace ( / \( / g, '' ) . replace ( / \) / g, '' ) ;
108
+ var valueSliced = removeBrackets . split ( ',' ) ;
109
+ var isValid = true ;
110
+
111
+ valueSliced . forEach ( function ( i ) {
112
+ var parsedInt = parseInt ( i , 10 ) ;
113
+ if ( ( isInteger ( parsedInt ) && 0 <= parsedInt && parsedInt <= 255 ) === false ) {
114
+ isValid = false ;
115
+ }
116
+ } ) ;
117
+ return isValid ;
118
+ }
119
+
120
+ return false ;
121
+ } ,
122
+ errorMessage : '' ,
123
+ errorMessageKey : 'badRgb'
124
+ } ) ;
125
+
126
+ /**
127
+ * Check RGBA format
128
+ */
129
+ $ . formUtils . addValidator ( {
130
+ name : 'rgba' ,
131
+ validatorFunction : function ( val , $el ) {
132
+ if ( $el . valAttr ( 'allow-transparent' ) === 'true' && val === 'transparent' ) {
133
+ return true ;
134
+ }
135
+
136
+ var removedSpace = val . replace ( / / g, '' ) ;
137
+ var regex = / r g b a \( [ 0 - 9 ] { 1 , 3 } , [ 0 - 9 ] { 1 , 3 } , [ 0 - 9 ] { 1 , 3 } , [ 0 , 1 ] ? .? [ 0 - 9 ] * \) / i;
138
+
139
+ if ( removedSpace . match ( regex ) ) {
140
+ var removeRgbaCall = removedSpace . replace ( / r g b a / g, '' ) ;
141
+ var removeBrackets = removeRgbaCall . replace ( / \( / g, '' ) . replace ( / \) / g, '' ) ;
142
+ var valueSliced = removeBrackets . split ( ',' ) ;
143
+ var isValid = true ;
144
+
145
+ valueSliced . forEach ( function ( i , index ) {
146
+ var value = filterFloat ( i ) ;
147
+ if ( isInteger ( value ) ) {
148
+ var isInRange = value >= 0 && value <= 255 ;
149
+ if ( ! isInRange ) {
150
+ isValid = false ;
151
+ }
152
+
153
+ if ( isValid && index === 3 ) {
154
+ isValid = value >= 0 && value < 2 ;
155
+ }
156
+ } else if ( ! isBetween0and1 ( i ) ) {
157
+ isValid = false ;
158
+ }
159
+ } ) ;
160
+ return isValid ;
161
+ }
162
+
163
+ return false ;
164
+ } ,
165
+ errorMessage : '' ,
166
+ errorMessageKey : 'badRgba'
167
+ } ) ;
168
+
169
+ /**
170
+ * Check HSL format
171
+ */
172
+ $ . formUtils . addValidator ( {
173
+ name : 'hsl' ,
174
+ validatorFunction : function ( val , $el ) {
175
+ if ( $el . valAttr ( 'allow-transparent' ) === 'true' && val === 'transparent' ) {
176
+ return true ;
177
+ }
178
+
179
+ var removedSpace = val . replace ( / / g, '' ) ;
180
+ var regex = / h s l \( - ? [ 0 - 9 ] { 1 , 3 } , [ 0 - 9 ] { 1 , 3 } % , [ 0 - 9 ] { 1 , 3 } % \) / i;
181
+
182
+ if ( removedSpace . match ( regex ) ) {
183
+ var removeHslCall = removedSpace . replace ( / h s l / g, '' ) ;
184
+ var removeBrackets = removeHslCall . replace ( / \( / g, '' ) . replace ( / \) / g, '' ) ;
185
+ var valueSliced = removeBrackets . split ( ',' ) ;
186
+ var isValid = true ;
187
+
188
+ valueSliced . forEach ( function ( i , index ) {
189
+ var parsedInt = parseInt ( i , 10 ) ;
190
+
191
+ if ( isInteger ( parsedInt ) ) {
192
+ if ( index !== 0 ) {
193
+ var isInRange = parsedInt >= 0 && parsedInt <= 100 ;
194
+ if ( ! isInRange ) {
195
+ isValid = false ;
196
+ }
197
+ }
198
+ } else {
199
+ isValid = false ;
200
+ }
201
+ } ) ;
202
+ return isValid ;
203
+ }
204
+
205
+ return false ;
206
+ } ,
207
+ errorMessage : '' ,
208
+ errorMessageKey : 'badHsl'
209
+ } ) ;
210
+
211
+ /**
212
+ * Check HSLA format
213
+ */
214
+ $ . formUtils . addValidator ( {
215
+ name : 'hsla' ,
216
+ validatorFunction : function ( val , $el ) {
217
+ if ( $el . valAttr ( 'allow-transparent' ) === 'true' && val === 'transparent' ) {
218
+ return true ;
219
+ }
220
+
221
+ var isInRange ;
222
+ var removedSpace = val . replace ( / / g, '' ) ;
223
+ var regex = / h s l a \( - ? [ 0 - 9 ] { 1 , 3 } , [ 0 - 9 ] { 1 , 3 } % , [ 0 - 9 ] { 1 , 3 } % , [ 0 , 1 ] ? .? [ 0 - 9 ] * \) / i;
224
+
225
+ if ( removedSpace . match ( regex ) ) {
226
+ var removeHslaCall = removedSpace . replace ( / h s l a / g, '' ) ;
227
+ var removeBrackets = removeHslaCall . replace ( / \( / g, '' ) . replace ( / \) / g, '' ) ;
228
+ var valueSliced = removeBrackets . split ( ',' ) ;
229
+ var isValid = true ;
230
+
231
+ valueSliced . forEach ( function ( i , index ) {
232
+ var value = filterFloat ( i ) ;
233
+ var parsedInt = parseInt ( i , 10 ) ;
234
+
235
+ if ( isInteger ( value ) ) {
236
+ if ( index !== 0 && index !== 3 ) {
237
+ isInRange = value >= 0 && value <= 100 ;
238
+ if ( ! isInRange ) {
239
+ isValid = false ;
240
+ }
241
+ }
242
+
243
+ if ( isValid && index === 3 ) {
244
+ isValid = value >= 0 && value < 2 ;
245
+ }
246
+ } else if ( isNaN ( value ) && isInteger ( parsedInt ) ) {
247
+ isInRange = parsedInt >= 0 && parsedInt <= 100 ;
248
+ if ( ! isInRange ) {
249
+ isValid = false ;
250
+ }
251
+ } else {
252
+ value = filterFloat ( Number ( i ) . toFixed ( 20 ) ) ;
253
+
254
+ isInRange = value >= 0 && value <= 1 ;
255
+ if ( ! isInRange ) {
256
+ isValid = false ;
257
+ }
258
+ }
259
+ } ) ;
260
+
261
+ return isValid ;
262
+ }
263
+
264
+ return false ;
265
+ } ,
266
+ errorMessage : '' ,
267
+ errorMessageKey : 'badHsla'
268
+ } ) ;
269
+
270
+ } ) ( jQuery ) ;
271
+
272
+
273
+ } ) ) ;
0 commit comments