This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Checking if a String represents a valid usually means parsing that String into a Date. There are several threads about that; I've posted in quite a few of these already.
And what Paul meant is disallowing invalid dates like February 31st. You can make the date format non-lenient to disallow this.