Wicket Date Field Validation
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
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