是否可以将数字验证放在asp.net文本框中的必填字段验证器中?
答案 0 :(得分:70)
您应该使用CompareValidator,例如:
<asp:TextBox ID="txt" runat="server />
<asp:CompareValidator ID="cv" runat="server" ControlToValidate="txt" Type="Integer"
Operator="DataTypeCheck" ErrorMessage="Value must be an integer!" />
如果您想要进行简单的数据类型检查,这是最自然的选择。否则,如果您要验证范围,请使用RangeValidator建议。如果您需要某种模式,请使用RegularExpressionValidator。
请注意,您还需要添加RequiredFieldValidator,因为某些验证器会允许空白条目。
答案 1 :(得分:7)
实际上,ValidationExpression = "^\d+?$"
答案 2 :(得分:4)
也许您可以使用附加到该文本框的RangeValidator,将Type设置为Integer或wathever。
答案 3 :(得分:2)
另一种可能性是使用RegexpValidator并添加一个正则表达式,确保其中包含1个或更多数字,如:
RegularExpressionValidator regexpvalidator = new RegularExpressionValidator();
regexpvalidator.ID = "RegularExpressionValidator1";
regexpvalidator.ValidationExpression = "\d+";
regexpvalidator.ControlToValidate = "YourControl";
regexpvalidator.ErrorMessage = "Please specify a digit";
regexpvalidator.SetFocusOnError = true;
答案 4 :(得分:2)
不,RequiredFieldValidator只能验证该字段是否包含某些内容。
如果要验证该字段只包含数字,可以使用带有"\d+"
模式的RegularExpressionValidator。
答案 5 :(得分:2)
RequiredFieldValidator仅检查字段是否已填写。它不关心用什么。
你需要一个额外的CompareValidator,它的运算符设置为DataTypeCheck,它的Type设置为Integer。 请注意,您需要两者:CompareValidator将忽略空输入。
答案 6 :(得分:1)
是的,就像这样:
<asp:TextBox ID="tb" runat="server"></asp:TextBox>
<asp:RangeValidator ControlToValidate="tb" Type="Integer"></asp:RangeValidator>