@@ -73,63 +73,66 @@ define([
7373 ] ,
7474 'max-words' : [
7575 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 ;
7777 } ,
7878 $ . mage . __ ( 'Please enter {0} words or less.' )
7979 ] ,
8080 'min-words' : [
8181 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 ;
8383 } ,
8484 $ . mage . __ ( 'Please enter at least {0} words.' )
8585 ] ,
8686 'range-words' : [
8787 function ( value , params ) {
8888 var match = utils . stripHtml ( value ) . match ( / \b \w + \b / g) || [ ] ;
8989
90- return match . length >= params [ 0 ] &&
90+ return utils . isEmpty ( value ) || match . length >= params [ 0 ] &&
9191 match . length <= params [ 1 ] ;
9292 } ,
9393 $ . mage . __ ( 'Please enter between {0} and {1} words.' )
9494 ] ,
9595 'letters-with-basic-punc' : [
9696 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 ) ;
9898 } ,
9999 $ . mage . __ ( 'Letters or punctuation only please' )
100100 ] ,
101101 'alphanumeric' : [
102102 function ( value ) {
103- return / ^ \w + $ / i. test ( value ) ;
103+ return utils . isEmpty ( value ) || / ^ \w + $ / i. test ( value ) ;
104104 } ,
105105 $ . mage . __ ( 'Letters, numbers, spaces or underscores only please' )
106106 ] ,
107107 'letters-only' : [
108108 function ( value ) {
109- return / ^ [ a - z ] + $ / i. test ( value ) ;
109+ return utils . isEmpty ( value ) || / ^ [ a - z ] + $ / i. test ( value ) ;
110110 } ,
111111 $ . mage . __ ( 'Letters only please' )
112112 ] ,
113113 'no-whitespace' : [
114114 function ( value ) {
115- return / ^ \S + $ / i. test ( value ) ;
115+ return utils . isEmpty ( value ) || / ^ \S + $ / i. test ( value ) ;
116116 } ,
117117 $ . mage . __ ( 'No white space please' )
118118 ] ,
119119 'zip-range' : [
120120 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 ) ;
122122 } ,
123123 $ . mage . __ ( 'Your ZIP-code must be in the range 902xx-xxxx to 905-xx-xxxx' )
124124 ] ,
125125 'integer' : [
126126 function ( value ) {
127- return / ^ - ? \d + $ / . test ( value ) ;
127+ return utils . isEmpty ( value ) || / ^ - ? \d + $ / . test ( value ) ;
128128 } ,
129129 $ . mage . __ ( 'A positive or negative non-decimal number please' )
130130 ] ,
131131 'vinUS' : [
132132 function ( value ) {
133+ if ( utils . isEmpty ( value ) ) {
134+ return true ;
135+ }
133136 if ( value . length !== 17 ) {
134137 return false ;
135138 }
@@ -215,33 +218,33 @@ define([
215218 ] ,
216219 'time' : [
217220 function ( value ) {
218- return / ^ ( [ 0 1 ] \d | 2 [ 0 - 3 ] ) ( : [ 0 - 5 ] \d ) { 0 , 2 } $ / . test ( value ) ;
221+ return utils . isEmpty ( value ) || / ^ ( [ 0 1 ] \d | 2 [ 0 - 3 ] ) ( : [ 0 - 5 ] \d ) { 0 , 2 } $ / . test ( value ) ;
219222 } ,
220223 $ . mage . __ ( 'Please enter a valid time, between 00:00 and 23:59' )
221224 ] ,
222225 'time12h' : [
223226 function ( value ) {
224- return / ^ ( ( 0 ? [ 1 - 9 ] | 1 [ 0 1 2 ] ) ( : [ 0 - 5 ] \d ) { 0 , 2 } ( \ [ A P ] M ) ) $ / i. test ( value ) ;
227+ return utils . isEmpty ( value ) || / ^ ( ( 0 ? [ 1 - 9 ] | 1 [ 0 1 2 ] ) ( : [ 0 - 5 ] \d ) { 0 , 2 } ( \ [ A P ] M ) ) $ / i. test ( value ) ;
225228 } ,
226229 $ . mage . __ ( 'Please enter a valid time, between 00:00 am and 12:00 pm' )
227230 ] ,
228231 'phoneUS' : [
229232 function ( value ) {
230233 value = value . replace ( / \s + / g, '' ) ;
231234
232- return value . length > 9 && value . match ( / ^ ( 1 - ? ) ? ( \( [ 2 - 9 ] \d { 2 } \) | [ 2 - 9 ] \d { 2 } ) - ? [ 2 - 9 ] \d { 2 } - ? \d { 4 } $ / ) ;
235+ return utils . isEmpty ( value ) || value . length > 9 && value . match ( / ^ ( 1 - ? ) ? ( \( [ 2 - 9 ] \d { 2 } \) | [ 2 - 9 ] \d { 2 } ) - ? [ 2 - 9 ] \d { 2 } - ? \d { 4 } $ / ) ;
233236 } ,
234237 $ . mage . __ ( 'Please specify a valid phone number' )
235238 ] ,
236239 'phoneUK' : [
237240 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 } ) $ / ) ;
241+ return utils . isEmpty ( value ) || value . length > 9 && value . match ( / ^ ( \( ? ( 0 | \+ 4 4 ) [ 1 - 9 ] { 1 } \d { 1 , 4 } ?\) ? \s ? \d { 3 , 4 } \s ? \d { 3 , 4 } ) $ / ) ;
239242 } ,
240243 $ . mage . __ ( 'Please specify a valid phone number' )
241244 ] ,
242245 'mobileUK' : [
243246 function ( value ) {
244- return value . length > 9 && value . match ( / ^ ( ( 0 | \+ 4 4 ) 7 \d { 3 } \s ? \d { 6 } ) $ / ) ;
247+ return utils . isEmpty ( value ) || value . length > 9 && value . match ( / ^ ( ( 0 | \+ 4 4 ) 7 \d { 3 } \s ? \d { 6 } ) $ / ) ;
245248 } ,
246249 $ . mage . __ ( 'Please specify a valid mobile number' )
247250 ] ,
@@ -253,20 +256,23 @@ define([
253256 ] ,
254257 'email2' : [
255258 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
259+ 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
257260 } ,
258261 $ . validator . messages . email
259262 ] ,
260263 'url2' : [
261264 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
265+ 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
263266 } ,
264267 $ . validator . messages . url
265268 ] ,
266269 'credit-card-types' : [
267270 function ( value , param ) {
268271 var validTypes ;
269272
273+ if ( utils . isEmpty ( value ) ) {
274+ return true ;
275+ }
270276 if ( / [ ^ 0 - 9 - ] + / . test ( value ) ) {
271277 return false ;
272278 }
@@ -351,19 +357,19 @@ define([
351357 ] ,
352358 'ipv4' : [
353359 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
360+ 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
355361 } ,
356362 $ . mage . __ ( 'Please enter a valid IP v4 address.' )
357363 ] ,
358364 'ipv6' : [
359365 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
366+ 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
361367 } ,
362368 $ . mage . __ ( 'Please enter a valid IP v6 address.' )
363369 ] ,
364370 'pattern' : [
365371 function ( value , param ) {
366- return new RegExp ( param ) . test ( value ) ;
372+ return utils . isEmpty ( value ) || new RegExp ( param ) . test ( value ) ;
367373 } ,
368374 $ . mage . __ ( 'Invalid format.' )
369375 ] ,
@@ -845,7 +851,7 @@ define([
845851 return validateCreditCard ( value ) ;
846852 }
847853
848- return false ;
854+ return true ;
849855 } ,
850856 $ . mage . __ ( 'Please enter a valid credit card number.' )
851857 ] ,
@@ -886,10 +892,14 @@ define([
886892 ] ,
887893 'validate-per-page-value-list' : [
888894 function ( value ) {
889- var isValid = ! utils . isEmpty ( value ) ,
895+ var isValid = utils . isEmpty ( value ) ,
890896 values = value . split ( ',' ) ,
891897 i ;
892898
899+ if ( isValid ) {
900+ return true ;
901+ }
902+
893903 for ( i = 0 ; i < values . length ; i ++ ) {
894904 if ( ! / ^ [ 0 - 9 ] + $ / . test ( values [ i ] ) ) {
895905 isValid = false ;
0 commit comments