asp.net验证,以确保文本框具有整数值如何实现?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (15)

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

我怎样才能做到这一点?

提问于
用户回答回答于

如果你所关心的是该字段包含一个整数(即不涉及范围),那么添加一个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那里。

确保你Page.IsValid在服务器端检查属性,否则验证器只适用于启用了JavaScript的用户。

用户回答回答于

这对我来说很好:

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
     ControlToValidate="YourTextBoxID"
     ErrorMessage="Only numeric allowed." ForeColor="Red"
     ValidationExpression="^[0-9]*$" ValidationGroup="NumericValidate">*
</asp:RegularExpressionValidator>

我觉得你应该加上ValidationGroup="NumericValidate"提交按钮。

扫码关注云+社区