13
我有一个连接到它要求两者和范围验证,其中代码看起来像这样的asp:textbox
:asp.net范围验证的文本框
ASP:
<asp:TextBox ID="textBox1" runat="server" CausesValidation="true"></asp:TextBox>
<asp:RangeValidator ID="rangeValidator1" runat="server" ControlToValidate="textBox1" MaximumValue="1" MinimumValue="0"
ValidationGroup="valid" ForeColor="Red" ErrorMessage="Out of Range" />
<asp:RequiredFieldValidator ID="requiredValidator1" runat="server" ControlToValidate="textBox1"
ValidationGroup="valid" ForeColor="Red" ErrorMessage="Cannot be blank" />
而当页面动态加载(快速回调后),我有代码应该将RangeValidator的MaximumValue
更改为更具体的值。下面是该代码:
rangeValidator1.MaximumValue = GetMaxValue(params).ToString();
现在,我已经设置断点,rangeValidator1.MaximumValue
被正确设定,但是,在页面加载的时候,我期待在编译客户端的JavaScript,它看来,最大值仍然只有1.
更令我困惑的是,只要第一个数字是'1',任何输入的整数都会通过。因此,如果maxValue为假定为“1234567”,则“1”将与“12345678910”匹配。但“2”不会。也不会“3000”或“46000”。
其他人有没有与文本框上的RangeValidators类似的问题?
textbox1看起来不在同一个ValidationGroup中,而id是textBox1(注意大写字母B)这只是一个错字吗? – 2012-01-11 20:50:21
另外,RangeValidator没有Type字段吗? – 2012-01-11 20:51:28
关于您的第一条评论,很抱歉,那是一个错字。当我将代码复制到SO时,我更改了ID,以便更易于阅读。他们*做*匹配。 – 2012-01-11 20:59:48