Wicket Date Field Validation

2009-06-18 Thread Rao Archana (HCTM/ETA)
Hi,

I am working on date fields and have problems with the validation. I
have referred to the link below which helped me.

http://www.nabble.com/Strict-4-digit-year-for-DateTextField--td18656889.
html


So I have subclassed the PatternDateConverter and have set the pattern
as,
dateFormat = ^(\\d{1,2})/(\\d{1,2})/(\\d{4})$;

I have 2 date fields, start_date and end_date. The start_date is a
required field and the end_date is not.

 some code

pdc = new
StrictPatternDateConverter(DateUtil.getDateFormatOnLocale(getLocale()),
false);

 more code

startDateField = DateTextField.withConverter(startDate, new
PropertyModel(this, startDate), pdc);
startDateField.add(new TMPDatePicker());
form.add(startDateField);
endDateField = DateTextField.withConverter(endDate, new
PropertyModel(this, endDate), pdc);
endDateField.add(new TMPDatePicker());
form.add(endDateField);

 more code

This works fine ie it does not allow entry of 03/03/09 or
03/03/-2009

BUT, the end_date becomes a required field. I have to enter the end_date
to click 'Save'. Else it complains that an invalid date has been
entered.
But my end_date is not a required field.

So if I replace it with,

endDateField = DateTextField.forDatePattern(endDate,
DateUtil.getDateFormatOnLocale(getLocale()));
endDateField.withConverter(endDate, pdc);
endDateField.add(new TMPDatePicker());

It allows, 03/03/-2009 and 03/03/09. Why does it allow the '-' sign.
It computes it to a value and displays a year.

My application has several date fields and I need to validate them.

I am a newbie to Wicket and have looked up the archive quite a bit to
find a solution.
Can someone please tell me a solution to my date validation problem?

Thanks very much


Wicket Date Field Validation

2009-06-17 Thread Rao Archana (HCTM/ETA)
Hi,

I am working on date fields and have problems with the validation. I
have referred to the link below which helped me.

http://www.nabble.com/Strict-4-digit-year-for-DateTextField--td18656889.
html


So I have subclassed the PatternDateConverter and have set the pattern
as,
dateFormat = ^(\\d{1,2})/(\\d{1,2})/(\\d{4})$;

I have 2 date fields, start_date and end_date. The start_date is a
required field and the end_date is not.

 some code

pdc = new
StrictPatternDateConverter(DateUtil.getDateFormatOnLocale(getLocale()),
false);

 more code

startDateField = DateTextField.withConverter(startDate, new
PropertyModel(this, startDate), pdc);
startDateField.add(new TMPDatePicker());
form.add(startDateField);
endDateField = DateTextField.withConverter(endDate, new
PropertyModel(this, endDate), pdc);
endDateField.add(new TMPDatePicker());
form.add(endDateField);

 more code

This works fine ie it does not allow entry of 03/03/09 or
03/03/-2009

BUT, the end_date becomes a required field. I have to enter the end_date
to click 'Save'. Else it complains that an invalid date has been
entered.
But my end_date is not a required field.

So if I replace it with,

endDateField = DateTextField.forDatePattern(endDate,
DateUtil.getDateFormatOnLocale(getLocale()));
endDateField.withConverter(endDate, pdc);
endDateField.add(new TMPDatePicker());

It allows, 03/03/-2009 and 03/03/09. Why does it allow the '-' sign.
It computes it to a value and displays a year.

My application has several date fields and I need to validate them.

I am a newbie to Wicket and have looked up the archive quite a bit to
find a solution.
Can someone please tell me a solution to my date validation problem?

Thanks very much