Abdul Kabeer
Abdul Kabeer

Reputation: 3

validating range of html input date in asp.net

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>

error in form

Upvotes: 0

Views: 1433

Answers (1)

Anthony McGrath
Anthony McGrath

Reputation: 802

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

Upvotes: 0

Related Questions