In this article I will explain how to do Start Date End Date Validation compare validation such that selected Start date should be less than End date in dd/MM/yyyy format.

In order to compare the dates, I have made use of ASP.Net CompareValidator.
Start Date: <asp:TextBox ID="txtStartDate" runat="server" Text = "24/02/1999"></asp:TextBox>&nbsp;
End Date: <asp:TextBox ID="txtEndDate" runat="server" Text = "31/12/1988"></asp:TextBox><br />
<asp:CompareValidator ID="CompareValidator1" ValidationGroup = "Date" ForeColor = "Red" runat="server" 
ControlToValidate = "txtStartDate" ControlToCompare = "txtEndDate" Operator = "LessThan" Type = "Date"
ErrorMessage="Start date must be less than End date."></asp:CompareValidator>
<br />
<asp:Button ID="btnCompare" runat="server" Text="Compare" ValidationGroup = "Date"/>
 
By default the ASP.Net CompareValidator does not work for dd/mm/yyyy format hence we will need to change the Culture property of the page to en-GB in the @Page directive of the ASP.Net Web Page as show below
 
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" Culture = "en-GB" %>
 
That’s it you need to do. Below is the complete markup of the page which makes use of ASP.Net AJAX CalendarExtender for date selection.
 
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default"
    Culture="en-GB" %>
 
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title></title>
    <style type="text/css">
        body
        {
            font-family: Arial;
            font-size: 10pt;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
    </cc1:ToolkitScriptManager>
    Start Date:
    <asp:TextBox ID="txtStartDate" runat="server" Text="" ReadOnly="true"></asp:TextBox><asp:ImageButton
        runat="server" ID="imgPopup1" ImageUrl="~/Calendar.png" />
    <cc1:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="txtStartDate"
        PopupButtonID="imgPopup1" Format="dd/MM/yyyy" />
    End Date:
    <asp:TextBox ID="txtEndDate" runat="server" Text="" ReadOnly="true"></asp:TextBox>
    <asp:ImageButton runat="server" ID="imgPopup2" ImageUrl="~/Calendar.png" />
    <cc1:CalendarExtender ID="CalendarExtender2" runat="server" TargetControlID="txtEndDate"
        PopupButtonID="imgPopup2" Format="dd/MM/yyyy" />
    <br />
    <asp:CompareValidator ID="CompareValidator1" ValidationGroup="Date" ForeColor="Red"
        runat="server" ControlToValidate="txtStartDate" ControlToCompare="txtEndDate"
        Operator="LessThan" Type="Date" ErrorMessage="Start date must be less than End date."></asp:CompareValidator>
    <br />
   <asp:Button ID="btnCompare" runat="server" Text="Compare" ValidationGroup="Date" />
    </form>
</body>
</html>
 
 
ASP.Net Start Date End Date Validation: Start date should be less than End date
 
Demo
 
 
 
Downloads