c# - 文本框上的 asp.net 范围验证器

标签 c# asp.net

我有一个 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/

相关文章:

c# - 不可变对象(immutable对象)是好的做法吗?

c# - Android Activity 的滑入/滑出动画。这个设置可以吗?

c# - 如何手动添加到 swagger 的 schemas 部分?

asp.net - WCF 最佳性能设置

asp.net - 代码小修改后为 "Cannot access a disposed object"

c# - Xamarin Forms 后门(Android)

c# - 要很好地实现单元测试,需要关注哪些 C# 项目?

c# - 使用 JavaScript 或 C# 检测浏览器插件?

c# - asp.net core项目发布后iis立即关闭

javascript - 动态文本框的标签索引