Using Custom Validator for Date Validation

Introduction

Many a times it is better to use Server Side Validations in Web Application with Client Side Validations, below is the example of validating Dates using Custom Validator.

.Aspx page 

<asp:TextBox runat="server" ID="txtToEndDate" CssClass="TextBoxSearch" MaxLength="100" TabIndex="0"></asp:TextBox><asp:CustomValidator ID="CustomValidator1" OnServerValidate="CustomValidator1_ServerValidate"
runat="server" Display="None" ErrorMessage="" ValidationGroup="GroupName"></asp:CustomValidator>

.Aspx page.cs

protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
    try

   {
           if
((!string.IsNullOrEmpty(this.txtToEndDate.Text)) && (!string.IsNullOrEmpty(this.txtFromStartDate.Text)))
           {
               if
(Convert.ToDateTime(this.txtToEndDate.Text) < Convert.ToDateTime(this.txtFromStartDate.Text))
               {
                   args.IsValid = false;
                   Message.ClearMessage();
                   Message.MessageId = "To End Date should not be less than From Start Date";
                   Message.ShowMessage();
                   Gridview.Visible = false;
              }

          }

          if
(string.IsNullOrEmpty(this.txtFromStartDate.Text))

          {
              args.IsValid = false;
              Message.ClearMessage();
              Message.MessageId = "From Start Date Cannot be Blank";
              Message.ShowMessage();
              Gridview.Visible = false;
          }
          if
(string.IsNullOrEmpty(this.txtToEndDate.Text))

          {

              args.IsValid = false;
              Message.ClearMessage();
              Message.MessageId = "To End Date Cannot be Blank ";
              Message.ShowMessage();
             Gridview.Visible = false;
         }
         if
((string.IsNullOrEmpty(this.txtToEndDate.Text)) && (string.IsNullOrEmpty(this.txtFromStartDate.Text)))
         {
             args.IsValid = false;
             Message.ClearMessage();
             Message.MessageId = "From Start Date and To End Date cannot be blank";
            Message.ShowMessage();
            Gridview.Visible = false;
        }
    }
    catch
(FormatException e)
    {
       args.IsValid = false;
      CustomValidator1.ErrorMessage = "Invalid Date." + e.Message;
   }
}