Date validation with ASP.NET validator Date validation with ASP.NET validator asp.net asp.net

Date validation with ASP.NET validator


Best option would be

Add a compare validator to the web form. Set its controlToValidate. Set its Type property to Date. Set its operator property to DataTypeCheck eg:

<asp:CompareValidator    id="dateValidator" runat="server"     Type="Date"    Operator="DataTypeCheck"    ControlToValidate="txtDatecompleted"     ErrorMessage="Please enter a valid date."></asp:CompareValidator>


A CustomValidator would also work here:

<asp:CustomValidator runat="server"    ID="valDateRange"     ControlToValidate="txtDatecompleted"    onservervalidate="valDateRange_ServerValidate"     ErrorMessage="enter valid date" />

Code-behind:

protected void valDateRange_ServerValidate(object source, ServerValidateEventArgs args){    DateTime minDate = DateTime.Parse("1000/12/28");    DateTime maxDate = DateTime.Parse("9999/12/28");    DateTime dt;    args.IsValid = (DateTime.TryParse(args.Value, out dt)                     && dt <= maxDate                     && dt >= minDate);}


I think the following is the easiest way to do it.

<asp:TextBox ID="DateControl" runat="server" Visible="False"></asp:TextBox><asp:RangeValidator ID ="rvDate" runat ="server" ControlToValidate="DateControl" ErrorMessage="Invalid Date" Type="Date" MinimumValue="01/01/1900" MaximumValue="01/01/2100" Display="Dynamic"></asp:RangeValidator>