gpt4 book ai didi

c# - 我的验证器都不起作用

转载 作者:行者123 更新时间:2023-11-28 21:02:20 24 4
gpt4 key购买 nike

我的表单上有一个字段,允许用户输入 0 到 5000 之间的数字

我尝试了 3 种不同的方法,但是对于这三种方法,当我输入大于 5000 的数字时,我的表单提交会被接受,这是不应该发生的:

方法一:

<asp:CustomValidator ControlToValidate="price" runat="server" ID ="inrange" 
ErrorMessage="Must not exceed 5k"
OnServerValidate="lessThan5k">
</asp:CustomValidator>

在代码隐藏中使用此代码

protected void lessThan5k(object sender, ServerValidateEventArgs e)
{
if (Convert.ToInt32(price.Value) < 5000)
{
e.IsValid = true;
}
else
{
e.IsValid = false;
}
}

方法2:

<script type="text/javascript">

var listen = document.getElementById("price");

listen.addEventListener("input", function () {
var value = new parseInt(price.Value);
if (value > 5000) {
price.setCustomValidity("must not exceed 5000");
} else {
price.setCustomValidity("");
}
});
</script>

最后但并非最不重要的方法 3:

限制表单字段数值范围的正确方法是什么?

最佳答案

使用 RangeValidator 。将其从工具箱中拖放到您的页面设计中。

设置以下属性:

  • ControlToValidate--> 您的文本框 ID
  • 类型 --> 整数(以便将其视为整数)
  • 最小值 --> 0
  • 最大值 --> 5000

如果即使该值未通过验证您也不想发布表单,则设置 EnableClientScript = false ,以便仅在服务器端发布和验证。

请记住,您还需要使用 RequiredFieldValidator如果您不想允许空条目。

关于c# - 我的验证器都不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10654709/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com