[ https://issues.apache.org/jira/browse/VALIDATOR-221?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12469084 ]
Carsten Drossel commented on VALIDATOR-221: ------------------------------------------- According to the Javadoc ("Checks if the field is a valid date.", "true if the value can be converted to a Date.") I guess I'm using the method in an inappropriate way by using a date format for a 'partial date' that does not include a year. In this case I agree that this issue is not a bug. If DateValidator can be used for partial dates however, "02/29" should be valid regardless of the year. It makes sense to search for people born on a February 29th. February 29th exists while February 30th doesn't. > DateValidator considers "02/29" with format "MM/dd" invalid > ----------------------------------------------------------- > > Key: VALIDATOR-221 > URL: https://issues.apache.org/jira/browse/VALIDATOR-221 > Project: Commons Validator > Issue Type: Bug > Affects Versions: 1.3.1 Release > Environment: Windows XP, Java 1.5.0_04 > Reporter: Carsten Drossel > Priority: Minor > > When the date pattern contains only day and month the isValid(..)-method of > DateValidator returns false for the value Feb. 29th. > Here is a JUnit test that fails: > public void testFebruary29th() throws Exception { > assertTrue( DateValidator.getInstance().isValid( "02/29", "MM/dd", true ) ); > } > The DateValidator uses the parse(..)-method of SimpleDateFormat for the > validation. This method appears to complete any date using 01/01/1970 00:00. > Since 1970 was not a leap year a ParseException is thrown for the input > "02/29" with the format "MM/dd" because 02/29/1970 is not a valid date. > But IMHO "02/29" should be valid. An example where it makes sense is a search > for persons with a certain birthday. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]