This week's book giveaway is in the General Computing forum. We're giving away four copies of Arduino in Action and have Martin Evans, Joshua Noble, and Jordan Hochenbaum 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.