RangeValidation引发错误

时间:2014-07-19 15:15:06

标签: html asp.net

我在asp中使用范围验证作为日期范围......

  <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>

我得到的错误是最大值不能小于最小值。

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

我所做的是提取Max和Min语句,并将它们放在每个RangeValidator的PageLoad事件中。它工作正常。