2012-05-15 93 views
0

因此,在目前,我有這3個校驗ASP.NET驗證器只能做比較日期是否有效日期時間

<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="*"/> 

但我只想比較驗證,如果兩個日期都有效的工作,如果兩個日期被輸入。因爲在我的搜索中,他們被允許將日期保留空白或僅輸入一個或從當前日期。

回答

0

放下您的CompareValidator並添加一個CustomValidator。隨着CustomValidator你將能夠實現你想要的邏輯。

如果你想要的話,你可以在技術上將其他兩個驗證器放入你的CustomValidator,但我會將這兩個驗證器分開。

0

您的代碼似乎適用於我。它讓我通過,如果我留下一個或兩個領域的空白。否則驗證工作。嗯。

+0

如果輸入無效的日期時間,比較消息顯示。如果您輸入的是開始日期,但沒有輸入日期,則比較顯示和其他方式。我只想顯示是否輸入了兩個日期,並且有效日期時間和日期大於日期。 – StevieB

+0

我假設你正在使用日期選擇器來確保有效的日期。另外,如果我輸入日期,但沒有日期,它可以讓我通過。 – Dave