Validating the textbox entry for date format

Validating the textbox entry for date format

How do I validate textbox entry for valid date format and discard the input if it is not valid in the key press event?

    Requires Free Membership to View

    When you register, you'll begin receiving targeted emails from my team of award-winning writers. Our goal is to provide a unique online resource for developers, architects and development managers tasked with building and maintaining enterprise applications using Visual Basic, C# and the Microsoft .NET platform.

    Hannah Smalltree, Editorial Director

    By submitting your registration information to SearchWinDevelopment.com you agree to receive email communications from TechTarget and TechTarget partners. We encourage you to read our Privacy Policy which contains important disclosures about how we collect and use your registration and other information. If you reside outside of the United States, by submitting this registration information you consent to having your personal data transferred to and processed in the United States. Your use of SearchWinDevelopment.com is governed by our Terms of Use. You may contact us at webmaster@TechTarget.com.

The simplest approach would just be to create a method that returns a bool and tries to parse the text into a DateTime object. The DateTime.Parse(string) method should work just fine, and if the text is not in the correct format you will catch the exception thrown. Once you have the exception, you can determine how to better direct the user, and help them correctly format the DateTime.

I would also either go with the validation events, or the TextChanged event to try and parse out the text into a DateTime object. You can cache the text before you try and parse it, and roll back the text to the previous if the parsing fails.

Again, there are a hundred different ways to approach this problem, some may be arguably better than others, but most will get you where you want to go.

Cheers!

This was first published in November 2004