0

我在 .html 中使用 HTML 输入类型日期asp.net。使用范围验证器验证日期和正则表达式以仅输入数字。如果正确输入日期范围验证器和正则表达式都显示错误。

抱歉英语不好。

<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>

形式错误

4

1 回答 1

0

一件事是您的 C# 代码,如下所示:

DateTime.Now.Date.Value.ToString("yyyy-MM-dd")

应该用代码字符封装

<% = DateTime.Now.Date.Value.ToString("yyyy-MM-dd") %>

对于 ValidationExpression= 看起来您需要弄清楚如何对 ##/##/#### 格式进行正则表达式测试,这就是您想要的日期格式

于 2018-01-07T05:59:51.283 回答