Suppose you would like to check if a date entered by user is not only a valid date but also meets other requirements, for instance, a date of birth cannot be later than today, the start date of a scheduled task/event needs to be later than today, etc. Of course, if possible, I would use RJS.PopCalendar to accomplish this type of task, but if third-party DLL’s are not allowed, then you can use the built-in RangeValidator to do the same thing.
Let’s add a TextBox for the date and a RangeValidator to validate the TextBox entry:
Scheduled Start Date:
<asp:TextBox ID="txtScheduleDate" runat="server"></asp:TextBox><br />
<asp:RangeValidator ID="RangeValidator1" runat="server"
ControlToValidate="txtScheduleDate"
ErrorMessage="The schedule date must be later than today."
MaximumValue="01/01/9999"
MinimumValue="01/01/1000"
Type="Date">
</asp:RangeValidator><br />
The MaximumValue and MinimumValue are required properties, so I set them with two dummy dates. Then in the Page_Load, I will overwrite them with the actual values of the required range:
'Scheduled start date cannot be one month later Me.RangeValidator1.MaximumValue = _ DateTime.Now.AddMonths(1).ToShortDateString() 'Scheduled start date must be at least tomorrow Me.RangeValidator1.MinimumValue = _ DateTime.Now.AddDays(1).ToShortDateString()
That is it. Of course you can add a RequiredFieldValidator to make sure the TextBox is not empty.
Here is a demo if you are interested in how it works.