Dinesh Kumar
Dinesh Kumar

Reputation: 1499

date validation

can any one tell me the code to validate the date field in signup form(which shd also validate the leap year and no of days in each month

Upvotes: 1

Views: 350

Answers (2)

Jon Palmer
Jon Palmer

Reputation: 171

That depends on the input but suppose you have a string input for the whole date then you could try something like:

try
{
     DateTime parsedDate = DateTime.Parse(incomingDateString);
}
catch
{
     throw new Exception("Incoming Date string could not be parsed as a DateTime");
}

Alternatively if you have three integers as strings coming in from the form then you would replace the DateTime.Parse with

     DateTime parsedDate = new DateTime(Int32.Parse(yearString), Int32.Parse(MonthString), Int32.Parse(DayString));

and allow the DateTime constructor take care of the details of analyzing days of month and leap years. You could be more sophisticated and use Int32.TryParse and provide more specific error messages and checks for null strings if thats what you need.

Upvotes: 2

Ricardo Sanchez
Ricardo Sanchez

Reputation: 6289

You can make sure you get a valid date by adding a calendar control or a date picker control. This will avoid having to add extra validation just to validate this field.

If you don't want to use a calendar control or date picker, you can use DateTime.Parse and place it inside a Try, Catch block.

dateString = YourDateField.Text; 
      try {
         dateValue = DateTime.Parse(dateString);
      }   
      catch (FormatException) {
         Console.WriteLine("Unable to convert, this is not a valid date '{0}'.", dateString);
      }

Hope this helps.

Upvotes: 1

Related Questions