我在文本框上有一个必需的验证设置,但我还必须确保它是一个整数.

我该怎么做?

推荐答案

如果您只关心字段包含整数(即,与范围无关),则添加一个CompareValidator,并将其Operator属性设置为DataTypeCheck:

<asp:CompareValidator runat="server" Operator="DataTypeCheck" Type="Integer" 
 ControlToValidate="ValueTextBox" ErrorMessage="Value must be a whole number" />

如果有一个特定的有效值范围(可能有),那么可以使用RangeValidator,如下所示:

<asp:RangeValidator runat="server" Type="Integer" 
MinimumValue="0" MaximumValue="400" ControlToValidate="ValueTextBox" 
ErrorMessage="Value must be a whole number between 0 and 400" />

它们仅在文本框中有文本时才有效,因此您还需要将RequiredFieldValidator保留在那里.

正如@Mahin所说,确保判断服务器端的Page.IsValid属性,否则验证器只适用于启用JavaScript的用户.

Asp.net相关问答推荐

ASP.NET控制器上的默认接受媒体类型

Razor中的共享本地化资源文件

如何在 ASP.Net Core 中验证上传的文件

单个方法(即扩展方法)之间的调用不明确

为什么 Web 架构应该是松耦合的?

无法加载文件或程序集 'System.Web.Mvc,版本 = 3.0.0.0,Elmah.MVC 问题

c# - 如何从列表中获取值的总和?

如何通过后面的代码不显示

通过 jQuery 调用 ASP.NET 服务器端方法

可空日期时间转换

如何在 ASP.NET 站点中添加 favicon.ico

禁用 web.config 继承?

如何避免 ASP.NET MVC 中的 HttpRequestValidationException 呈现导致异常的相同视图

SQLServer 与 StateServer 的 ASP.NET 会话状态性能

asp.net 网站上的第一页加载缓慢

如何告诉 RadioButtonList 不生成表格

ASP.NET - 从静态方法/静态类访问会话?

配置授权服务器端点

ASP.Net 哪个用户帐户在 IIS 7 上运行 Web 服务?

如何将 DataTable 转换为类 Object?