我有一个 asp:textbox
附加了必需和范围验证器,代码如下所示:
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 类似的问题?
最佳答案
RangeValidator 处理多种类型的验证。您应该确保将类型设置为整数。或任何合适的。
关于c# - 文本框上的 asp.net 范围验证器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8826328/