Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Date validation with ASP.NET validator

I'm trying to use an ASP.NET RangeValidator to validate a date on a textbox. The format of the date entered on the textbox is dd MMMM yyyy.

How can I use the range validator to validate a valid date? If I enter 1 January 1000 as the min or max value I get an error saying value cannot be converted to type date, but if I use another format it picks up my entered text as invalid.

Below is my code:

<asp:TextBox      runat="server"      ID="txtDatecompleted"  /> <cc2:CalendarExtender     ID="datecompletedExtender"      runat="server"     TargetControlID="txtDatecompleted"     Format="dd MMMM yyyy" />   <asp:RangeValidator      runat="server"      ID="RangeValidator1"      Type="Date"      ControlToValidate="txtDatecompleted"      MaximumValue="9999/12/28"      MinimumValue="1000/12/28"      ErrorMessage="enter valid date"      Display="None" /> <cc2:ValidatorCalloutExtender      ID="RangeValidator1_ValidatorCalloutExtender"      runat="server"     Enabled="True"     TargetControlID="RangeValidator1"> </cc2:ValidatorCalloutExtender> 
like image 787
Nicholas Avatar asked Jun 02 '09 14:06

Nicholas


1 Answers

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> 
like image 148
Shoban Avatar answered Sep 29 '22 03:09

Shoban