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