在 asp.net 中验证 html 输入日期的范围
validating range of html input date in asp.net
我在 asp.net
中使用 HTML 输入类型日期。使用范围验证器验证日期和正则表达式以仅输入数字。如果输入日期正确,范围验证器和正则表达式都显示错误。
抱歉英语不好。
<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>
一件事是您的 C# 代码如下所示:
DateTime.Now.Date.Value.ToString("yyyy-MM-dd")
应该用代码字符封装
<% = DateTime.Now.Date.Value.ToString("yyyy-MM-dd") %>
对于 ValidationExpression= 看来您需要弄清楚如何对 ##/##/#### 格式进行正则表达式测试,这就是您想要的日期格式
我在 asp.net
中使用 HTML 输入类型日期。使用范围验证器验证日期和正则表达式以仅输入数字。如果输入日期正确,范围验证器和正则表达式都显示错误。
抱歉英语不好。
<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>
一件事是您的 C# 代码如下所示:
DateTime.Now.Date.Value.ToString("yyyy-MM-dd")
应该用代码字符封装
<% = DateTime.Now.Date.Value.ToString("yyyy-MM-dd") %>
对于 ValidationExpression= 看来您需要弄清楚如何对 ##/##/#### 格式进行正则表达式测试,这就是您想要的日期格式