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

问题描述:

我在我的页面中有以下验证器控件。使用验证器控件验证asp.net中的日期字段

<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> 
  • 当我键入1900年12月9日已正确验证。 [好]
  • 当我输入12/09/1009时,它没有正确验证。 [好]
  • 当我输入12/09/09它正在验证。 [不打算]。在这种情况下,我希望它仅在4位数的日期年份进行验证。否则显示错误信息。

如果使用两个比较日期类型检查和正则表达式验证验证多年(4位数)检查,然后“12/02/198”被示出为两个验证错误消息。

任何人都可以请告诉我该怎么做?

谢谢。

+0

通过Aghilas Yakoub答案是工作。但我想知道是否有任何方法可以使用比较验证器。如果任何人有任何想法如何使用比较验证程序可以做到这一点,请让我知道。 – Narendra 2012-08-01 10:17:26

这个正则表达式工作正常

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

这个正则表达式按照我的需要工作。它仅允许使用4位数字。我们的日期也不能超过31个月,而且要比12个月多。 – Narendra 2012-08-03 09:58:43

可以使用的RegularExpressionValidator并设置ValidationExpression

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

非常感谢它的工作。 – Narendra 2012-08-01 10:13:44

+1

我很高兴帮助您下雨 – 2012-08-01 10:14:44

+1

但是,如果日期输入为“50/50/1900”,它正在验证这一点。因为这不是有效的日期。 – Narendra 2012-08-01 10:56:43