I am using HTML input type date in asp.net
. Using range validater to validate date and regular expression to enter to numbers only. If enter date correctly range validater and reqular expression are both showing error.
Sorry for bad english.
<div class="form-group">
<h5>Date of Birth:</h5>
<div class="controls ">
<div class="input-group">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
<input type="date" name="bday" class="form-control" id="dateofbirth" runat="server">
</div>
<span style="color:red;"><asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ErrorMessage="Please Enter Date Of Birth" ControlToValidate="dateofbirth" SetFocusOnError="True"></asp:RequiredFieldValidator></span>
<span style="color:red;"><asp:RegularExpressionValidator ControlToValidate="dateofbirth" ID="RegularExpressionValidator7" runat="server" ErrorMessage="Please Enter Numbers Only" ValidationExpression="0*[0-9]\d*"></asp:RegularExpressionValidator></span>
<span style="color:red;"><asp:RangeValidator ID="RangeValidator1" runat="server" ErrorMessage="Your are not eligible " ControlToValidate="dateofbirth" MaximumValue="DateTime.Now.Date.Value.ToString(yyyy-MM-dd)" MinimumValue="DateTime.Now.AddYears(-18).ToString.Value(yyyy-MM-dd)"></asp:RangeValidator></span>
</div>
</div>
one thing is your C# code like the following:
DateTime.Now.Date.Value.ToString("yyyy-MM-dd")
should be encapsulated by code characters
<% = DateTime.Now.Date.Value.ToString("yyyy-MM-dd") %>
For the ValidationExpression= It looks like you need to figure out how to make your regex test for ##/##/#### format of that is what you want the date format to be