I added the following comment to the bug #WICKET-2648.
I don't know if I have to register a new bug or it is enough just a comment on
the old bug.
Please, let me know.
Regards,
giovanni
Giovanni added a comment - 05/Mar/10
04:03 PM
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() {
// enable month/year selection
return true;
} // 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);