使用Asp.Net RangeValidator for Int64

时间:2011-04-04 11:44:58

标签: asp.net rangevalidator

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

1 个答案:

答案 0 :(得分: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 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();
    }