根据当前日期更改rangevalidator的值

时间:2012-02-03 21:51:21

标签: asp.net validation

我在用于输入生日的文本框上有一个asp:rangevalidator控件。

<asp:RangeValidator ID="valrDate" runat="server" ControlToValidate="txtDateOfBirth" MinimumValue="12/31/1950" MaximumValue="1/1/2012" Type="Date" text="Invalid Date" Display="Dynamic"/> 

我真的希望能够根据逻辑更改最小值和最大值,这些逻辑会抛出一个验证通知,表明输入的日期超出了允许的日期范围。

这可以完成吗?

感谢 贝

2 个答案:

答案 0 :(得分:2)

您可以在代码后面设置它,如:

protected void Page_Load(object sender, EventArgs e)
{
    datetime dynamicMaxValue;
    datetime dynamicMinValue;

    //Code to compute dynamic Max/Min Value
    //...
    valrDate.MaximumValue = dynamicMaxValue; //Dynamic Max Value
    valrDate.MinimumValue = dynamicMinValue; //Dynamic Min Value
}

答案 1 :(得分:0)

protected void RangeValidator5_Init(object sender, EventArgs e)
{
    ((RangeValidator)sender).MaximumValue = DateTime.Today.ToString("yyyy/MM/dd");
    ((RangeValidator)sender).MinimumValue = DateTime.Today.AddYears(-100).ToString("yyyy/MM/dd");
}