Asp.net compare validator to validate date
Solution 1
Try this approach, First Enter the Start Date and Check the Compare Validator with the End Date textbox:
<asp:CompareValidator id="cvtxtStartDate" runat="server"
ControlToCompare="txtStartDate" cultureinvariantvalues="true"
display="Dynamic" enableclientscript="true"
ControlToValidate="txtFinishDate"
ErrorMessage="Start date must be earlier than finish date"
type="Date" setfocusonerror="true" Operator="GreaterThanEqual"
text="Start date must be earlier than finish date"></asp:CompareValidator>
Solution 2
Compare validator has the type=date.But that date type is constrained to accept only particular format of date i.e ToShortDateString(). If the date format of the two textboxes to be compared is in some other format like ToLongDateString() or some format specified by ToString("dd MMMM,yyyy") the comparision does not work. CustomValidator isonly option. If you want to use compare validator only then
textstartdate.text=Calendar1.SelectedDate.ToShortDateString();
textfinishdate=Calendar2.SelectedDate.ToShortDateString();
<asp:CompareValidator ID="CompareValidator4" runat="server"
ControlToCompare="textstartdate" ControlToValidate="textfinishdate"
CultureInvariantValues="True"
ErrorMessage="Date should be greater than booking date."
Operator="GreaterThanEqual" SetFocusOnError="True" Type="Date"></asp:CompareValidator>
Deeptechtons
SOreadytohelp Deeptechtons Programmer, Developer and Enthusiast always looking for chances to learn interesting technology. Meet awesome people and enhance life of people
Updated on October 12, 2020Comments
-
Deeptechtons over 3 years
As you all know Compare validators can be used to validate dates and check based on operator type (<, <= , >= etc). I have set the
cultureinvariantvalues="true"
property to validate two textbox controls that hold dates. I have to constrain them such that the start date must be earlier than the finish date. The validation seems to fail when I type a descriptive date like below:StartDate: Tuesday, 21 February 2012 FinishDate: Wednesday, 22 February 2012
Even though 22nd is larger than 21st the validation fails. The markup I used is below. If for any reason you need format info, here it is
dddd, dd MMMM yyyy
<asp:CompareValidator id="cvtxtStartDate" runat="server" controltocompare="txtFinishDate" cultureinvariantvalues="true" display="Dynamic" enableclientscript="true" controltovalidate="txtStartDate" errormessage="Start date must be earlier than finish date" type="Date" setfocusonerror="true" operator="LessThanEqual" text="Start date must be earlier than finish date">