@@ -73,63 +73,67 @@ define([
73
73
] ,
74
74
'max-words' : [
75
75
function ( value , params ) {
76
- return utils . stripHtml ( value ) . match ( / \b \w + \b / g) . length < params ;
76
+ return utils . isEmpty ( value ) || utils . stripHtml ( value ) . match ( / \b \w + \b / g) . length < params ;
77
77
} ,
78
78
$ . mage . __ ( 'Please enter {0} words or less.' )
79
79
] ,
80
80
'min-words' : [
81
81
function ( value , params ) {
82
- return utils . stripHtml ( value ) . match ( / \b \w + \b / g) . length >= params ;
82
+ return utils . isEmpty ( value ) || utils . stripHtml ( value ) . match ( / \b \w + \b / g) . length >= params ;
83
83
} ,
84
84
$ . mage . __ ( 'Please enter at least {0} words.' )
85
85
] ,
86
86
'range-words' : [
87
87
function ( value , params ) {
88
88
var match = utils . stripHtml ( value ) . match ( / \b \w + \b / g) || [ ] ;
89
89
90
- return match . length >= params [ 0 ] &&
90
+ return utils . isEmpty ( value ) || match . length >= params [ 0 ] &&
91
91
match . length <= params [ 1 ] ;
92
92
} ,
93
93
$ . mage . __ ( 'Please enter between {0} and {1} words.' )
94
94
] ,
95
95
'letters-with-basic-punc' : [
96
96
function ( value ) {
97
- return / ^ [ a - z \- . , ( ) \u0027 \u0022 \s ] + $ / i. test ( value ) ;
97
+ return utils . isEmpty ( value ) || / ^ [ a - z \- . , ( ) \u0027 \u0022 \s ] + $ / i. test ( value ) ;
98
98
} ,
99
99
$ . mage . __ ( 'Letters or punctuation only please' )
100
100
] ,
101
101
'alphanumeric' : [
102
102
function ( value ) {
103
- return / ^ \w + $ / i. test ( value ) ;
103
+ return utils . isEmpty ( value ) || / ^ \w + $ / i. test ( value ) ;
104
104
} ,
105
105
$ . mage . __ ( 'Letters, numbers, spaces or underscores only please' )
106
106
] ,
107
107
'letters-only' : [
108
108
function ( value ) {
109
- return / ^ [ a - z ] + $ / i. test ( value ) ;
109
+ return utils . isEmpty ( value ) || / ^ [ a - z ] + $ / i. test ( value ) ;
110
110
} ,
111
111
$ . mage . __ ( 'Letters only please' )
112
112
] ,
113
113
'no-whitespace' : [
114
114
function ( value ) {
115
- return / ^ \S + $ / i. test ( value ) ;
115
+ return utils . isEmpty ( value ) || / ^ \S + $ / i. test ( value ) ;
116
116
} ,
117
117
$ . mage . __ ( 'No white space please' )
118
118
] ,
119
119
'zip-range' : [
120
120
function ( value ) {
121
- return / ^ 9 0 [ 2 - 5 ] - \d { 2 } - \d { 4 } $ / . test ( value ) ;
121
+ return utils . isEmpty ( value ) || / ^ 9 0 [ 2 - 5 ] - \d { 2 } - \d { 4 } $ / . test ( value ) ;
122
122
} ,
123
123
$ . mage . __ ( 'Your ZIP-code must be in the range 902xx-xxxx to 905-xx-xxxx' )
124
124
] ,
125
125
'integer' : [
126
126
function ( value ) {
127
- return / ^ - ? \d + $ / . test ( value ) ;
127
+ return utils . isEmpty ( value ) || / ^ - ? \d + $ / . test ( value ) ;
128
128
} ,
129
129
$ . mage . __ ( 'A positive or negative non-decimal number please' )
130
130
] ,
131
131
'vinUS' : [
132
132
function ( value ) {
133
+ if ( utils . isEmpty ( value ) ) {
134
+ return true ;
135
+ }
136
+
133
137
if ( value . length !== 17 ) {
134
138
return false ;
135
139
}
@@ -215,33 +219,35 @@ define([
215
219
] ,
216
220
'time' : [
217
221
function ( value ) {
218
- return / ^ ( [ 0 1 ] \d | 2 [ 0 - 3 ] ) ( : [ 0 - 5 ] \d ) { 0 , 2 } $ / . test ( value ) ;
222
+ return utils . isEmpty ( value ) || / ^ ( [ 0 1 ] \d | 2 [ 0 - 3 ] ) ( : [ 0 - 5 ] \d ) { 0 , 2 } $ / . test ( value ) ;
219
223
} ,
220
224
$ . mage . __ ( 'Please enter a valid time, between 00:00 and 23:59' )
221
225
] ,
222
226
'time12h' : [
223
227
function ( value ) {
224
- return / ^ ( ( 0 ? [ 1 - 9 ] | 1 [ 0 1 2 ] ) ( : [ 0 - 5 ] \d ) { 0 , 2 } ( \s [ A P ] M ) ) $ / i. test ( value ) ;
228
+ return utils . isEmpty ( value ) || / ^ ( ( 0 ? [ 1 - 9 ] | 1 [ 0 1 2 ] ) ( : [ 0 - 5 ] \d ) { 0 , 2 } ( \s [ A P ] M ) ) $ / i. test ( value ) ;
225
229
} ,
226
230
$ . mage . __ ( 'Please enter a valid time, between 00:00 am and 12:00 pm' )
227
231
] ,
228
232
'phoneUS' : [
229
233
function ( value ) {
230
234
value = value . replace ( / \s + / g, '' ) ;
231
235
232
- return value . length > 9 && value . match ( / ^ ( 1 - ? ) ? ( \( [ 2 - 9 ] \d { 2 } \) | [ 2 - 9 ] \d { 2 } ) - ? [ 2 - 9 ] \d { 2 } - ? \d { 4 } $ / ) ;
236
+ return utils . isEmpty ( value ) || value . length > 9 &&
237
+ value . match ( / ^ ( 1 - ? ) ? ( \( [ 2 - 9 ] \d { 2 } \) | [ 2 - 9 ] \d { 2 } ) - ? [ 2 - 9 ] \d { 2 } - ? \d { 4 } $ / ) ;
233
238
} ,
234
239
$ . mage . __ ( 'Please specify a valid phone number' )
235
240
] ,
236
241
'phoneUK' : [
237
242
function ( value ) {
238
- return value . length > 9 && value . match ( / ^ ( \( ? ( 0 | \+ 4 4 ) [ 1 - 9 ] { 1 } \d { 1 , 4 } ?\) ? \s ? \d { 3 , 4 } \s ? \d { 3 , 4 } ) $ / ) ;
243
+ return utils . isEmpty ( value ) || value . length > 9 &&
244
+ value . match ( / ^ ( \( ? ( 0 | \+ 4 4 ) [ 1 - 9 ] { 1 } \d { 1 , 4 } ?\) ? \s ? \d { 3 , 4 } \s ? \d { 3 , 4 } ) $ / ) ;
239
245
} ,
240
246
$ . mage . __ ( 'Please specify a valid phone number' )
241
247
] ,
242
248
'mobileUK' : [
243
249
function ( value ) {
244
- return value . length > 9 && value . match ( / ^ ( ( 0 | \+ 4 4 ) 7 \d { 3 } \s ? \d { 6 } ) $ / ) ;
250
+ return utils . isEmpty ( value ) || value . length > 9 && value . match ( / ^ ( ( 0 | \+ 4 4 ) 7 \d { 3 } \s ? \d { 6 } ) $ / ) ;
245
251
} ,
246
252
$ . mage . __ ( 'Please specify a valid mobile number' )
247
253
] ,
@@ -253,20 +259,24 @@ define([
253
259
] ,
254
260
'email2' : [
255
261
function ( value ) {
256
- return / ^ ( ( ( [ a - z ] | \d | [ ! # \$ % & \u0027 \* \+ \- \/ = \? \^ _ ` { \| } ~ ] | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) + ( \. ( [ a - z ] | \d | [ ! # \$ % & \u0027 \* \+ \- \/ = \? \^ _ ` { \| } ~ ] | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) + ) * ) | ( ( \u0022 ) ( ( ( ( \x20 | \x09 ) * ( \x0d \x0a ) ) ? ( \x20 | \x09 ) + ) ? ( ( [ \x01 - \x08 \x0b \x0c \x0e - \x1f \x7f ] | \x21 | [ \x23 - \x5b ] | [ \x5d - \x7e ] | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) | ( \\ ( [ \x01 - \x09 \x0b \x0c \x0d - \x7f ] | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) ) ) ) * ( ( ( \x20 | \x09 ) * ( \x0d \x0a ) ) ? ( \x20 | \x09 ) + ) ? ( \u0022 ) ) ) @ ( ( ( [ a - z ] | \d | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) | ( ( [ a - z ] | \d | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) ( [ a - z ] | \d | - | \. | _ | ~ | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) * ( [ a - z ] | \d | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) ) ) \. ) * ( ( [ a - z ] | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) | ( ( [ a - z ] | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) ( [ a - z ] | \d | - | \. | _ | ~ | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) * ( [ a - z ] | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) ) ) \. ? $ / i. test ( value ) ; //eslint-disable-line max-len
262
+ return utils . isEmpty ( value ) || / ^ ( ( ( [ a - z ] | \d | [ ! # \$ % & \u0027 \* \+ \- \/ = \? \^ _ ` { \| } ~ ] | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) + ( \. ( [ a - z ] | \d | [ ! # \$ % & \u0027 \* \+ \- \/ = \? \^ _ ` { \| } ~ ] | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) + ) * ) | ( ( \u0022 ) ( ( ( ( \x20 | \x09 ) * ( \x0d \x0a ) ) ? ( \x20 | \x09 ) + ) ? ( ( [ \x01 - \x08 \x0b \x0c \x0e - \x1f \x7f ] | \x21 | [ \x23 - \x5b ] | [ \x5d - \x7e ] | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) | ( \\ ( [ \x01 - \x09 \x0b \x0c \x0d - \x7f ] | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) ) ) ) * ( ( ( \x20 | \x09 ) * ( \x0d \x0a ) ) ? ( \x20 | \x09 ) + ) ? ( \u0022 ) ) ) @ ( ( ( [ a - z ] | \d | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) | ( ( [ a - z ] | \d | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) ( [ a - z ] | \d | - | \. | _ | ~ | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) * ( [ a - z ] | \d | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) ) ) \. ) * ( ( [ a - z ] | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) | ( ( [ a - z ] | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) ( [ a - z ] | \d | - | \. | _ | ~ | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) * ( [ a - z ] | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) ) ) \. ? $ / i. test ( value ) ; //eslint-disable-line max-len
257
263
} ,
258
264
$ . validator . messages . email
259
265
] ,
260
266
'url2' : [
261
267
function ( value ) {
262
- return / ^ ( h t t p s ? | f t p ) : \/ \/ ( ( ( ( [ a - z ] | \d | - | \. | _ | ~ | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) | ( % [ \d a - f ] { 2 } ) | [ ! \$ & \u0027 \( \) \* \+ , ; = ] | : ) * @ ) ? ( ( ( \d | [ 1 - 9 ] \d | 1 \d \d | 2 [ 0 - 4 ] \d | 2 5 [ 0 - 5 ] ) \. ( \d | [ 1 - 9 ] \d | 1 \d \d | 2 [ 0 - 4 ] \d | 2 5 [ 0 - 5 ] ) \. ( \d | [ 1 - 9 ] \d | 1 \d \d | 2 [ 0 - 4 ] \d | 2 5 [ 0 - 5 ] ) \. ( \d | [ 1 - 9 ] \d | 1 \d \d | 2 [ 0 - 4 ] \d | 2 5 [ 0 - 5 ] ) ) | ( ( ( [ a - z ] | \d | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) | ( ( [ a - z ] | \d | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) ( [ a - z ] | \d | - | \. | _ | ~ | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) * ( [ a - z ] | \d | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) ) ) \. ) * ( ( [ a - z ] | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) | ( ( [ a - z ] | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) ( [ a - z ] | \d | - | \. | _ | ~ | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) * ( [ a - z ] | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) ) ) \. ? ) ( : \d * ) ? ) ( \/ ( ( ( [ a - z ] | \d | - | \. | _ | ~ | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) | ( % [ \d a - f ] { 2 } ) | [ ! \$ & \u0027 \( \) \* \+ , ; = ] | : | @ ) + ( \/ ( ( [ a - z ] | \d | - | \. | _ | ~ | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) | ( % [ \d a - f ] { 2 } ) | [ ! \$ & \u0027 \( \) \* \+ , ; = ] | : | @ ) * ) * ) ? ) ? ( \? ( ( ( [ a - z ] | \d | - | \. | _ | ~ | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) | ( % [ \d a - f ] { 2 } ) | [ ! \$ & \u0027 \( \) \* \+ , ; = ] | : | @ ) | [ \uE000 - \uF8FF ] | \/ | \? ) * ) ? ( \# ( ( ( [ a - z ] | \d | - | \. | _ | ~ | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) | ( % [ \d a - f ] { 2 } ) | [ ! \$ & \u0027 \( \) \* \+ , ; = ] | : | @ ) | \/ | \? ) * ) ? $ / i. test ( value ) ; //eslint-disable-line max-len
268
+ return utils . isEmpty ( value ) || / ^ ( h t t p s ? | f t p ) : \/ \/ ( ( ( ( [ a - z ] | \d | - | \. | _ | ~ | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) | ( % [ \d a - f ] { 2 } ) | [ ! \$ & \u0027 \( \) \* \+ , ; = ] | : ) * @ ) ? ( ( ( \d | [ 1 - 9 ] \d | 1 \d \d | 2 [ 0 - 4 ] \d | 2 5 [ 0 - 5 ] ) \. ( \d | [ 1 - 9 ] \d | 1 \d \d | 2 [ 0 - 4 ] \d | 2 5 [ 0 - 5 ] ) \. ( \d | [ 1 - 9 ] \d | 1 \d \d | 2 [ 0 - 4 ] \d | 2 5 [ 0 - 5 ] ) \. ( \d | [ 1 - 9 ] \d | 1 \d \d | 2 [ 0 - 4 ] \d | 2 5 [ 0 - 5 ] ) ) | ( ( ( [ a - z ] | \d | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) | ( ( [ a - z ] | \d | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) ( [ a - z ] | \d | - | \. | _ | ~ | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) * ( [ a - z ] | \d | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) ) ) \. ) * ( ( [ a - z ] | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) | ( ( [ a - z ] | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) ( [ a - z ] | \d | - | \. | _ | ~ | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) * ( [ a - z ] | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) ) ) \. ? ) ( : \d * ) ? ) ( \/ ( ( ( [ a - z ] | \d | - | \. | _ | ~ | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) | ( % [ \d a - f ] { 2 } ) | [ ! \$ & \u0027 \( \) \* \+ , ; = ] | : | @ ) + ( \/ ( ( [ a - z ] | \d | - | \. | _ | ~ | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) | ( % [ \d a - f ] { 2 } ) | [ ! \$ & \u0027 \( \) \* \+ , ; = ] | : | @ ) * ) * ) ? ) ? ( \? ( ( ( [ a - z ] | \d | - | \. | _ | ~ | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) | ( % [ \d a - f ] { 2 } ) | [ ! \$ & \u0027 \( \) \* \+ , ; = ] | : | @ ) | [ \uE000 - \uF8FF ] | \/ | \? ) * ) ? ( \# ( ( ( [ a - z ] | \d | - | \. | _ | ~ | [ \u00A0 - \uD7FF \uF900 - \uFDCF \uFDF0 - \uFFEF ] ) | ( % [ \d a - f ] { 2 } ) | [ ! \$ & \u0027 \( \) \* \+ , ; = ] | : | @ ) | \/ | \? ) * ) ? $ / i. test ( value ) ; //eslint-disable-line max-len
263
269
} ,
264
270
$ . validator . messages . url
265
271
] ,
266
272
'credit-card-types' : [
267
273
function ( value , param ) {
268
274
var validTypes ;
269
275
276
+ if ( utils . isEmpty ( value ) ) {
277
+ return true ;
278
+ }
279
+
270
280
if ( / [ ^ 0 - 9 - ] + / . test ( value ) ) {
271
281
return false ;
272
282
}
@@ -351,19 +361,19 @@ define([
351
361
] ,
352
362
'ipv4' : [
353
363
function ( value ) {
354
- return / ^ ( 2 5 [ 0 - 5 ] | 2 [ 0 - 4 ] [ 0 - 9 ] | [ 0 1 ] ? [ 0 - 9 ] [ 0 - 9 ] ? ) \. ( 2 5 [ 0 - 5 ] | 2 [ 0 - 4 ] [ 0 - 9 ] | [ 0 1 ] ? [ 0 - 9 ] [ 0 - 9 ] ? ) \. ( 2 5 [ 0 - 5 ] | 2 [ 0 - 4 ] [ 0 - 9 ] | [ 0 1 ] ? [ 0 - 9 ] [ 0 - 9 ] ? ) \. ( 2 5 [ 0 - 5 ] | 2 [ 0 - 4 ] [ 0 - 9 ] | [ 0 1 ] ? [ 0 - 9 ] [ 0 - 9 ] ? ) $ / i. test ( value ) ; //eslint-disable-line max-len
364
+ return utils . isEmpty ( value ) || / ^ ( 2 5 [ 0 - 5 ] | 2 [ 0 - 4 ] [ 0 - 9 ] | [ 0 1 ] ? [ 0 - 9 ] [ 0 - 9 ] ? ) \. ( 2 5 [ 0 - 5 ] | 2 [ 0 - 4 ] [ 0 - 9 ] | [ 0 1 ] ? [ 0 - 9 ] [ 0 - 9 ] ? ) \. ( 2 5 [ 0 - 5 ] | 2 [ 0 - 4 ] [ 0 - 9 ] | [ 0 1 ] ? [ 0 - 9 ] [ 0 - 9 ] ? ) \. ( 2 5 [ 0 - 5 ] | 2 [ 0 - 4 ] [ 0 - 9 ] | [ 0 1 ] ? [ 0 - 9 ] [ 0 - 9 ] ? ) $ / i. test ( value ) ; //eslint-disable-line max-len
355
365
} ,
356
366
$ . mage . __ ( 'Please enter a valid IP v4 address.' )
357
367
] ,
358
368
'ipv6' : [
359
369
function ( value ) {
360
- return / ^ ( ( ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) { 7 } [ 0 - 9 A - F a - f ] { 1 , 4 } ) | ( ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) { 6 } : [ 0 - 9 A - F a - f ] { 1 , 4 } ) | ( ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) { 5 } : ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) ? [ 0 - 9 A - F a - f ] { 1 , 4 } ) | ( ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) { 4 } : ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) { 0 , 2 } [ 0 - 9 A - F a - f ] { 1 , 4 } ) | ( ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) { 3 } : ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) { 0 , 3 } [ 0 - 9 A - F a - f ] { 1 , 4 } ) | ( ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) { 2 } : ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) { 0 , 4 } [ 0 - 9 A - F a - f ] { 1 , 4 } ) | ( ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) { 6 } ( ( \b ( ( 2 5 [ 0 - 5 ] ) | ( 1 \d { 2 } ) | ( 2 [ 0 - 4 ] \d ) | ( \d { 1 , 2 } ) ) \b ) \. ) { 3 } ( \b ( ( 2 5 [ 0 - 5 ] ) | ( 1 \d { 2 } ) | ( 2 [ 0 - 4 ] \d ) | ( \d { 1 , 2 } ) ) \b ) ) | ( ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) { 0 , 5 } : ( ( \b ( ( 2 5 [ 0 - 5 ] ) | ( 1 \d { 2 } ) | ( 2 [ 0 - 4 ] \d ) | ( \d { 1 , 2 } ) ) \b ) \. ) { 3 } ( \b ( ( 2 5 [ 0 - 5 ] ) | ( 1 \d { 2 } ) | ( 2 [ 0 - 4 ] \d ) | ( \d { 1 , 2 } ) ) \b ) ) | ( : : ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) { 0 , 5 } ( ( \b ( ( 2 5 [ 0 - 5 ] ) | ( 1 \d { 2 } ) | ( 2 [ 0 - 4 ] \d ) | ( \d { 1 , 2 } ) ) \b ) \. ) { 3 } ( \b ( ( 2 5 [ 0 - 5 ] ) | ( 1 \d { 2 } ) | ( 2 [ 0 - 4 ] \d ) | ( \d { 1 , 2 } ) ) \b ) ) | ( [ 0 - 9 A - F a - f ] { 1 , 4 } : : ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) { 0 , 5 } [ 0 - 9 A - F a - f ] { 1 , 4 } ) | ( : : ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) { 0 , 6 } [ 0 - 9 A - F a - f ] { 1 , 4 } ) | ( ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) { 1 , 7 } : ) ) $ / i. test ( value ) ; //eslint-disable-line max-len
370
+ return utils . isEmpty ( value ) || / ^ ( ( ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) { 7 } [ 0 - 9 A - F a - f ] { 1 , 4 } ) | ( ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) { 6 } : [ 0 - 9 A - F a - f ] { 1 , 4 } ) | ( ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) { 5 } : ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) ? [ 0 - 9 A - F a - f ] { 1 , 4 } ) | ( ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) { 4 } : ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) { 0 , 2 } [ 0 - 9 A - F a - f ] { 1 , 4 } ) | ( ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) { 3 } : ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) { 0 , 3 } [ 0 - 9 A - F a - f ] { 1 , 4 } ) | ( ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) { 2 } : ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) { 0 , 4 } [ 0 - 9 A - F a - f ] { 1 , 4 } ) | ( ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) { 6 } ( ( \b ( ( 2 5 [ 0 - 5 ] ) | ( 1 \d { 2 } ) | ( 2 [ 0 - 4 ] \d ) | ( \d { 1 , 2 } ) ) \b ) \. ) { 3 } ( \b ( ( 2 5 [ 0 - 5 ] ) | ( 1 \d { 2 } ) | ( 2 [ 0 - 4 ] \d ) | ( \d { 1 , 2 } ) ) \b ) ) | ( ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) { 0 , 5 } : ( ( \b ( ( 2 5 [ 0 - 5 ] ) | ( 1 \d { 2 } ) | ( 2 [ 0 - 4 ] \d ) | ( \d { 1 , 2 } ) ) \b ) \. ) { 3 } ( \b ( ( 2 5 [ 0 - 5 ] ) | ( 1 \d { 2 } ) | ( 2 [ 0 - 4 ] \d ) | ( \d { 1 , 2 } ) ) \b ) ) | ( : : ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) { 0 , 5 } ( ( \b ( ( 2 5 [ 0 - 5 ] ) | ( 1 \d { 2 } ) | ( 2 [ 0 - 4 ] \d ) | ( \d { 1 , 2 } ) ) \b ) \. ) { 3 } ( \b ( ( 2 5 [ 0 - 5 ] ) | ( 1 \d { 2 } ) | ( 2 [ 0 - 4 ] \d ) | ( \d { 1 , 2 } ) ) \b ) ) | ( [ 0 - 9 A - F a - f ] { 1 , 4 } : : ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) { 0 , 5 } [ 0 - 9 A - F a - f ] { 1 , 4 } ) | ( : : ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) { 0 , 6 } [ 0 - 9 A - F a - f ] { 1 , 4 } ) | ( ( [ 0 - 9 A - F a - f ] { 1 , 4 } : ) { 1 , 7 } : ) ) $ / i. test ( value ) ; //eslint-disable-line max-len
361
371
} ,
362
372
$ . mage . __ ( 'Please enter a valid IP v6 address.' )
363
373
] ,
364
374
'pattern' : [
365
375
function ( value , param ) {
366
- return new RegExp ( param ) . test ( value ) ;
376
+ return utils . isEmpty ( value ) || new RegExp ( param ) . test ( value ) ;
367
377
} ,
368
378
$ . mage . __ ( 'Invalid format.' )
369
379
] ,
@@ -845,7 +855,7 @@ define([
845
855
return validateCreditCard ( value ) ;
846
856
}
847
857
848
- return false ;
858
+ return true ;
849
859
} ,
850
860
$ . mage . __ ( 'Please enter a valid credit card number.' )
851
861
] ,
@@ -886,10 +896,14 @@ define([
886
896
] ,
887
897
'validate-per-page-value-list' : [
888
898
function ( value ) {
889
- var isValid = ! utils . isEmpty ( value ) ,
899
+ var isValid = utils . isEmpty ( value ) ,
890
900
values = value . split ( ',' ) ,
891
901
i ;
892
902
903
+ if ( isValid ) {
904
+ return true ;
905
+ }
906
+
893
907
for ( i = 0 ; i < values . length ; i ++ ) {
894
908
if ( ! / ^ [ 0 - 9 ] + $ / . test ( values [ i ] ) ) {
895
909
isValid = false ;
0 commit comments