Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.4.7
-
None
Description
I found that there is still a bug in Wicket 1.4.7 in case that the datePattern is "dd/MM/yyyy".
For example, if you use the DatePicker and select a date such as
23/02/2010 from the calendar GUI, the date selected in the DateTextField is "23/02/0010".
This is the example Java code:
// define the date text field for the data decorrenza
DateTextField dataDecorrenzaDaTextField = new DateTextField("dataDecorrenzaDa",
new PropertyModel(this.accordo, "dataDecorrenzaDa"),
new PatternDateConverter("dd/MM/yyyy", true)
);
// add the graphical calendar date picker
dataDecorrenzaDaTextField.add(new DatePicker() {
@Override
protected boolean enableMonthYearSelection()
// end enableMonthYearSelection
} // end DatePicker
);
I found that the bug is still in the "wicket-date.js", line 137.
The wrong code is:
if(datePattern.match(/yy+/)) year = Wicket.DateTime.padDateFragment(year % 100);
This line also makes the module 100 on the year, when the year pattern is "yyyy".
The fixed code is:
if(datePattern.match(/yyyy+/)) {
year = year;
} else if(datePattern.match(/yy+/)) year = Wicket.DateTime.padDateFragment(year % 100);
Attachments
Attachments
Issue Links
- is duplicated by
-
WICKET-2648 DatePicker javascript uses 4 symbols for year although pattern contains just yy
- Resolved
-
WICKET-2805 DateTextField and DatePicker do not work properly with four digit year patterns in 1.4.7
- Resolved
-
WICKET-2841 DatePicker does not parse year with pattern dd.MM.yyyy correctly.
- Closed