0

我的页面中有以下验证器控件。

<asp:CompareValidator ID="cvPatientDateOfBirth" runat="server"
        ControlToValidate="txtPatientDateOfBirth"  
        ErrorMessage="Enter proper date.(DD/MM/YYYY)" 
        Font-Bold="True" Operator="GreaterThan"  Display="Dynamic"
        ValidationGroup="FirstPreview" CssClass="validatorMsg" 
        SetFocusOnError="True" ValueToCompare="1/1/1100" Type="Date" >
    </asp:CompareValidator>
  • 当我输入 12/09/1900 时,它正在正确验证。[好的]
  • 当我输入 12/09/1009 时,它没有正确验证。[好的]
  • 当我输入 12/09/09 时,它正在验证。[不打算]。在这种情况下,我希望它仅在日期年份为 4 位时验证。否则显示错误信息。

如果我同时使用比较验证器进行日期类型检查和正则表达式验证器进行年(4 位)检查,那么“12/02/198”将显示两个验证器的错误消息。

谁能告诉我该怎么做?

谢谢。

4

2 回答 2

4

您可以使用 RegularExpressionValidator 并设置ValidationExpression

ValidationExpression = "\d{1,2}\/\d{1,2}/\d{4}"
于 2012-08-01T09:24:21.067 回答
1

此正则表达式工作正常

^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$
于 2012-08-02T04:57:30.843 回答