@@ -44,11 +44,37 @@ define([
44
44
return ( / ^ ( h t t p | h t t p s | f t p ) : \/ \/ ( ( [ A - Z 0 - 9 ] ( [ A - Z 0 - 9 _ - ] * [ A - Z 0 - 9 ] | ) ) ( \. [ A - Z 0 - 9 ] ( [ A - Z 0 - 9 _ - ] * [ A - Z 0 - 9 ] | ) ) * ) ( : ( \d + ) ) ? ( \/ [ A - Z 0 - 9 ~ ] ( ( [ A - Z 0 - 9 _ ~ - ] | \. ) * [ A - Z 0 - 9 ~ ] | ) ) * \/ ? ( .* ) ? $ / i) . test ( href ) //eslint-disable-line max-len);
45
45
}
46
46
47
+ /**
48
+ * Validate field with data object
49
+ * @param {Function } validator
50
+ * @param {String } ruleName
51
+ */
52
+ function validateObjectField ( validator , ruleName ) {
53
+ var rule = validator . getRule ( ruleName ) ;
54
+
55
+ validator . addRule (
56
+ ruleName ,
57
+ function ( value , params ) {
58
+ var allNumbers = true ;
59
+
60
+ if ( typeof value !== 'object' ) {
61
+ return rule . handler ( value , params ) ;
62
+ }
63
+
64
+ _ . flatten ( _ . map ( value , _ . values ) ) . forEach ( function ( val ) {
65
+ if ( ! rule . handler ( val , params ) ) {
66
+ return allNumbers = false ;
67
+ }
68
+ } ) ;
69
+
70
+ return allNumbers ;
71
+ } ,
72
+ $ . mage . __ ( rule . message )
73
+ ) ;
74
+ }
75
+
47
76
return function ( validator ) {
48
77
var requiredInputRule = validator . getRule ( 'required-entry' ) ;
49
- var validateNumberRule = validator . getRule ( 'validate-number' ) ;
50
- var lessThanEqualsToRule = validator . getRule ( 'less-than-equals-to' ) ;
51
- var greaterThanEqualsToRule = validator . getRule ( 'greater-than-equals-to' ) ;
52
78
53
79
validator . addRule (
54
80
'required-entry-location-name' ,
@@ -118,65 +144,9 @@ define([
118
144
$ . mage . __ ( requiredInputRule . message )
119
145
) ;
120
146
121
- validator . addRule (
122
- 'validate-number' ,
123
- function ( value ) {
124
- var allNumbers = true ;
125
-
126
- if ( typeof value !== 'object' ) {
127
- return validateNumberRule . handler ( value ) ;
128
- }
129
-
130
- _ . flatten ( _ . map ( value , _ . values ) ) . forEach ( function ( val ) {
131
- if ( ! validateNumberRule . handler ( val ) ) {
132
- return allNumbers = false ;
133
- }
134
- } ) ;
135
-
136
- return allNumbers ;
137
- } ,
138
- $ . mage . __ ( validateNumberRule . message )
139
- ) ;
140
-
141
- validator . addRule (
142
- 'less-than-equals-to' ,
143
- function ( value , params ) {
144
- var allNumbers = true ;
145
-
146
- if ( typeof value !== 'object' ) {
147
- return lessThanEqualsToRule . handler ( value , params ) ;
148
- }
149
-
150
- _ . flatten ( _ . map ( value , _ . values ) ) . forEach ( function ( val ) {
151
- if ( ! lessThanEqualsToRule . handler ( val , params ) ) {
152
- return allNumbers = false ;
153
- }
154
- } ) ;
155
-
156
- return allNumbers ;
157
- } ,
158
- $ . mage . __ ( lessThanEqualsToRule . message )
159
- ) ;
160
-
161
- validator . addRule (
162
- 'greater-than-equals-to' ,
163
- function ( value , params ) {
164
- var allNumbers = true ;
165
-
166
- if ( typeof value !== 'object' ) {
167
- return greaterThanEqualsToRule . handler ( value , params ) ;
168
- }
169
-
170
- _ . flatten ( _ . map ( value , _ . values ) ) . forEach ( function ( val ) {
171
- if ( ! greaterThanEqualsToRule . handler ( val , params ) ) {
172
- return allNumbers = false ;
173
- }
174
- } ) ;
175
-
176
- return allNumbers ;
177
- } ,
178
- $ . mage . __ ( greaterThanEqualsToRule . message )
179
- ) ;
147
+ validateObjectField ( validator , 'validate-number' ) ;
148
+ validateObjectField ( validator , 'less-than-equals-to' ) ;
149
+ validateObjectField ( validator , 'greater-than-equals-to' ) ;
180
150
181
151
return validator ;
182
152
} ;
0 commit comments