0

有没有办法将 RangeValidator 用于大数字(Int64 范围)?

4

1 回答 1

3

在看到这之后,仅使用 rangevalidator 就没有干净的方法可以做到这一点。我在下面列出了使用 webforms 验证器的替代方案。

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 替代:

你可以在这里使用组合。一个验证它是否在 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();
    }
于 2011-04-04T11:48:21.687 回答