commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Carsten Drossel (JIRA)" <>
Subject [jira] Commented: (VALIDATOR-221) DateValidator considers "02/29" with format "MM/dd" invalid
Date Wed, 31 Jan 2007 16:05:05 GMT


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:
>             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:
For additional commands, e-mail:

View raw message