文本框的日期验证

Sri*_*ava 5 asp.net

我一直用这个来取日期为mm/dd/yyyy格式......

<asp:CompareValidator ErrorMessage="(mm/dd/yyyy)" Display="Dynamic" ID="valcDate"
    ControlToValidate="txtDob" Operator="DataTypeCheck" Type="Date"     
    runat="server"></asp:CompareValidator>
<asp:RangeValidator ID="valrDate" runat="server" ControlToValidate="txtDob"  
    MinimumValue="12/31/1950"
    MaximumValue="1/1/2100" Type="Date" Text="Invalid Date" Display="Dynamic" />
Run Code Online (Sandbox Code Playgroud)

但这也是两位数的年份...... PLZ建议

Pau*_*lie 18

您可能希望使用正则表达式作为日期:

<asp:RegularExpressionValidator ID="dateValRegex" runat="server" ControlToValidate="txtDob" ErrorMessage="Please Enter a valid date in the format (mm/dd/yyyy)" ValidationExpression="^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$"></asp:RegularExpressionValidator>
Run Code Online (Sandbox Code Playgroud)

此外,正如Daniel在下面指出的那样,您需要将其与其他验证器结合使用,以完全验证日期.