ASP.NET Validators仅对有效日期时间进行日期比较检查

时间:2012-05-15 15:48:37

标签: asp.net validation datetime

所以目前我有这3个验证器

<asp:RegularExpressionValidator ID="dashboardFromDateDateCheck" runat="server" ValidationExpression="[0-9][0-9]/[0-9][0-9]/[0-9][0-9][0-9][0-9]" 
ControlToValidate="filterFromDate" ErrorMessage="Invalid From Date Format, (mm/dd/yyyy)" Text="*"></asp:RegularExpressionValidator> 

<asp:RegularExpressionValidator ID="dashboardToDateDateCheck" runat="server" ValidationExpression="[0-9][0-9]/[0-9][0-9]/[0-9][0-9][0-9][0-9]" 
ControlToValidate="filterToDate" ErrorMessage="Invalid To Date Format, (mm/dd/yyyy)" Text="*"></asp:RegularExpressionValidator> 

<asp:CompareValidator ID="checkDashboardFilterDateRange" runat="server" ControlToValidate="filterFromDate" ControlToCompare="filterToDate" Type="Date"
Operator="LessThanEqual" ErrorMessage="From Date must be before To Date" Text="*"/>

但是如果两个日期都有效并且输入了两个日期,我只希望比较验证器有效。因为在我的搜索中,他们可以将日期留空或仅输入日期或日期。

2 个答案:

答案 0 :(得分:0)

放弃CompareValidator并添加CustomValidator。使用CustomValidator,您将能够实现所需的逻辑。

如果你想要,你可以在技术上将其他两个验证器扔进你的CustomValidator,但我会将这两个验证器分开。

答案 1 :(得分:0)

您的代码似乎对我有用。如果我将一个或两个字段留空,它可以让我通过。否则验证工作。 HMM。