使用验证器控件验证asp.net中的日期字段

时间:2012-08-01 09:20:43

标签: asp.net regex validation date comparevalidator

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

<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位数的日期中验证。否则显示错误消息。

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

有人可以告诉我该怎么做吗?

感谢。

2 个答案:

答案 0 :(得分:4)

您可以使用RegularExpressionValidator并设置ValidationExpression

ValidationExpression = "\d{1,2}\/\d{1,2}/\d{4}"

答案 1 :(得分:1)

此正则表达式正常运行

^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$