| Author |
Date Validation !!!
|
Maria Laxmi
Ranch Hand
Joined: Aug 08, 2008
Posts: 40
|
|
Hi,
I am using parse function for date validation to parse the valid format of the date "mm-dd-yyyy". Now if I give the input date is "04-31-2008", which is a valid format but invalid date for the April month as we don't have 31st in April, parse function throws an exception but I want to catch this exception before It parses the date.In short I want to separate this two validation for Invalid Format and Invalid date. And I am unable to figure out how can I do this?
Thanks,
|
 |
Rob Spoor
Sheriff
Joined: Oct 27, 2005
Posts: 19216
|
|
|
Use a DateFormat with setLenient(false) called on it.
|
SCJP 1.4 - SCJP 6 - SCWCD 5
How To Ask Questions How To Answer Questions
|
 |
Campbell Ritchie
Sheriff
Joined: Oct 13, 2005
Posts: 32680
|
|
|
How about a regular expression to validate the format?
|
 |
Maria Laxmi
Ranch Hand
Joined: Aug 08, 2008
Posts: 40
|
|
I tried setLenient(false), but it is not working.
Thanks,
|
 |
Campbell Ritchie
Sheriff
Joined: Oct 13, 2005
Posts: 32680
|
|
|
Throwing an Exception from 04-31-2009 for 31st April 2009 would appear to be "working correctly."
|
 |
Maria Laxmi
Ranch Hand
Joined: Aug 08, 2008
Posts: 40
|
|
I know its working with parse function, but I want to catch this before date gets parsed.
e.g. my code is
DateFormat dateformat = new SimpleDateFormat(mm-dd-yyyy)
dateFormat.setLenient(false)
dateFormat.parse(dateStr)
parse function validates this exception of not allowing 04-31-2009, but I want to catch it before calling the parse function. I am not sure it is possible or not
Thanks,
|
 |
Paul Clapham
Bartender
Joined: Oct 14, 2005
Posts: 16483
|
|
nis bootwala wrote:I know its working with parse function, but I want to catch this before date gets parsed.
Why? The purpose of the parse() method is to convert a String to a Date, and to throw an exception if that can't be done.
|
 |
Rob Spoor
Sheriff
Joined: Oct 27, 2005
Posts: 19216
|
|
You can use another form of parse that will not throw an exception:
I have used this myself to make sure that there is no "clutter" after the valid string, e.g. "04-30-2009abc":
pos.getIndex() is guaranteed to not change if there is an error, so in this case it will remain 0.
|
 |
 |
|
|
subject: Date Validation !!!
|
|
|