Skip to content

Commit 4ea7db8

Browse files
author
Roman Lytvynenko
committed
MC-36978: Invalid Character Customer Account Create DOB
1 parent f9006ff commit 4ea7db8

File tree

3 files changed

+160
-2
lines changed

3 files changed

+160
-2
lines changed

app/code/Magento/Customer/view/frontend/web/js/validation.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ define([
1111
$.validator.addMethod(
1212
'validate-date',
1313
function (value, element, params) {
14-
var dateFormat = utils.convertToMomentFormat(params.dateFormat);
14+
var dateFormat = utils.normalizeDate(params.dateFormat);
1515

1616
if (value === '') {
1717
return true;
Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
/**
2+
* Copyright © Magento, Inc. All rights reserved.
3+
* See COPYING.txt for license details.
4+
*/
5+
define([
6+
'jquery',
7+
'Magento_Customer/js/validation'
8+
], function ($) {
9+
'use strict';
10+
11+
describe('Testing Customer/view/frontend/web/js/validation.js', function () {
12+
var params,
13+
dataProvider;
14+
15+
dataProvider = [
16+
{
17+
format: 'dd.MM.yy.',
18+
date: '09.02.18.',
19+
expects: true
20+
},
21+
{
22+
format: 'd/MM/y',
23+
date: '9/02/2018',
24+
expects: true
25+
},
26+
{
27+
format: 'MM/dd/yy',
28+
date: '02/09/18',
29+
expects: true
30+
},
31+
{
32+
format: 'M/d/yy',
33+
date: '2/9/18',
34+
expects: true
35+
},
36+
{
37+
format: 'yy-MM-dd',
38+
date: '18-02-09',
39+
expects: true
40+
},
41+
{
42+
format: 'dd.MM.y.',
43+
date: '09.02.2018.',
44+
expects: true
45+
},
46+
{
47+
format: 'y. MM. dd.',
48+
date: '2018. 02. 09.',
49+
expects: true
50+
},
51+
{
52+
format: 'd/MM/yy',
53+
date: '9/02/18',
54+
expects: true
55+
},
56+
{
57+
format: 'dd-MM-yy',
58+
date: '09-02-18',
59+
expects: true
60+
},
61+
{
62+
format: 'dd/MM/yy',
63+
date: '09/02/18',
64+
expects: true
65+
},
66+
{
67+
format: 'dd.MM.y',
68+
date: '09.02.2018',
69+
expects: true
70+
},
71+
{
72+
format: 'd. MM. yy',
73+
date: '9. 02. 18',
74+
expects: true
75+
},
76+
{
77+
format: 'dd/MM/y',
78+
date: '09/02/2018',
79+
expects: true
80+
},
81+
{
82+
format: 'd.MM.y',
83+
date: '9.02.2018',
84+
expects: true
85+
},
86+
{
87+
format: 'd.M.yy',
88+
date: '9.2.18',
89+
expects: true
90+
},
91+
{
92+
format: 'd.MM.yy г.',
93+
date: '9.02.18 г.',
94+
expects: true
95+
},
96+
{
97+
format: 'dd.M.yy',
98+
date: '09.2.18',
99+
expects: true
100+
},
101+
{
102+
format: 'y-MM-dd',
103+
date: '2018-02-09',
104+
expects: true
105+
},
106+
{
107+
format: 'd.M.yy.',
108+
date: '9.2.18.',
109+
expects: true
110+
},
111+
{
112+
format: 'd.M.y',
113+
date: '9.2.2018',
114+
expects: true
115+
},
116+
{
117+
format: 'd/M/y',
118+
date: '9/2/2018',
119+
expects: true
120+
},
121+
{
122+
format: 'yy/M/d',
123+
date: '19/2/9',
124+
expects: true
125+
},
126+
{
127+
format: 'd/M/yy',
128+
date: '9/2/18',
129+
expects: true
130+
},
131+
{
132+
format: 'y/M/d',
133+
date: '2018/2/9',
134+
expects: true
135+
},
136+
{
137+
format: 'y/MM/dd',
138+
date: '2018/02/09',
139+
expects: true
140+
},
141+
{
142+
format: 'yy. M. d.',
143+
date: '18. 2. 9.',
144+
expects: true
145+
}
146+
];
147+
148+
dataProvider.forEach(function (data) {
149+
it('Test date validation for format ' + data.format, function () {
150+
params = {
151+
'dateFormat': data.format
152+
};
153+
expect($.validator.methods['validate-date']
154+
.call($.validator.prototype, data.date, null, params)).toEqual(data.expects);
155+
});
156+
});
157+
});
158+
});

lib/web/mage/utils/misc.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ define([
282282
var newFormat;
283283

284284
newFormat = format.replace(/yyyy|yy|y/, 'YYYY'); // replace the year
285-
newFormat = newFormat.replace(/dd|d/g, 'D'); // replace the date
285+
newFormat = newFormat.replace(/dd|d/g, 'DD'); // replace the date
286286

287287
return newFormat;
288288
},

0 commit comments

Comments
 (0)