This week's giveaway is in the Spring forum.
We're giving away four 3 month subscriptions to Marco Behler Videos and have Marco Behler on-line!
See this thread for details.
Win a 3 month subscription to Marco Behler Videos this week in the Spring forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Date Validation !!!  RSS feed

 
Maria Laxmi
Ranch Hand
Posts: 40
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 21021
85
Chrome Eclipse IDE Java Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Use a DateFormat with setLenient(false) called on it.
 
Campbell Ritchie
Marshal
Posts: 54909
155
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
How about a regular expression to validate the format?
 
Maria Laxmi
Ranch Hand
Posts: 40
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I tried setLenient(false), but it is not working.

Thanks,
 
Campbell Ritchie
Marshal
Posts: 54909
155
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Throwing an Exception from 04-31-2009 for 31st April 2009 would appear to be "working correctly."
 
Maria Laxmi
Ranch Hand
Posts: 40
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Sheriff
Posts: 22279
38
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 21021
85
Chrome Eclipse IDE Java Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Don't get me started about those stupid light bulbs.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!