2014-07-19 29 views
0

我使用了一系列驗證在ASP的日期範圍...RangeValidation拋出錯誤

<EditItemTemplate> 
       <asp:RequiredFieldValidator ID="RequiredFieldValidatordtmStartDateEdit" runat="server" ErrorMessage="Start Date is required" ControlToValidate="dtmStartDateEdit"></asp:RequiredFieldValidator> 
       <asp:RangeValidator ID="RangeValidatordtmStartDateEdit" runat="server" Type="String" ErrorMessage="Range is +/- 1 year" ControlToValidate="dtmStartDateEdit" MaximumValue="DATETIME.Today.ADDYEARS(1).ToShortDateString()" MinimumValue="DATETIME.Today.ADDYEARS(-1).ToShortDateString()"></asp:RangeValidator> 
       <ajaxToolkit:CalendarExtender ID="CalendarExtenderStartDateEdit" runat="server" TargetControlID="dtmStartDateEdit"></ajaxToolkit:CalendarExtender> 
       <asp:TextBox ID="dtmStartDateEdit" runat="server"> 
       </asp:TextBox> 
      </EditItemTemplate> 

我得到的錯誤是最大不能小於最小值。

回答

0

添加type屬性,我不知道ToShortDateString()返回字符串或使用Type = Date如果不是。

<asp:RangeValidator ID="RangeValidatordtmCloseDateAdd" runat="server" 
ErrorMessage="Range is +/- 1 year" ControlToValidate="dtmCloseDateAdd" 
MaximumValue="DATETIME.Today.ADDYEARS(1).ToShortDateString()" 
MinimumValue="DATETIME.Today.ADDYEARS(-1).ToShortDateString()" 
Type = "String"> 
</asp:RangeValidator> 
+0

我正在進行驗證的字段是一個文本框。更改它不起作用... Rodd

0

我所做的是提取Max和Min語句,並將它們放入每個RangeValidator的PageLoad事件中。它工作正常。