【发布时间】:2011-10-21 21:44:49
【问题描述】:
有没有办法将 RangeValidator 用于大数字(Int64 范围)?
【问题讨论】:
有没有办法将 RangeValidator 用于大数字(Int64 范围)?
【问题讨论】:
在查看后,仅使用 rangevalidator 就没有干净的方法可以做到这一点。我在下面列出了使用网络表单验证器的替代方案。
HTML:
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RangeValidator ID="RangeValidator1" ControlToValidate="TextBox1"
runat="server" ErrorMessage="Help" SetFocusOnError="True" Type="Double"></asp:RangeValidator>
HTML Alt:
您可以在这里使用组合。一个验证它是否在 64 位范围内,另一个验证它只是一个整数。看起来很笨重,但应该可以。
<asp:RangeValidator ID="RangeValidator1" ControlToValidate="TextBox1"
runat="server" ErrorMessage="Help" SetFocusOnError="True" Type="Double"></asp:RangeValidator>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="TextBox1" ErrorMessage="RegularExpressionValidator"
ValidationExpression="[1-9]\d*"></asp:RegularExpressionValidator>
代码背后:
protected void Page_Load(object sender, EventArgs e) {
this.RangeValidator1.MaximumValue = Int64.MaxValue.ToString();
}
【讨论】: