использование Asp.Net RangeValidator для Int64 - PullRequest
0 голосов
/ 04 апреля 2011

Есть ли способ использовать RangeValidator для больших чисел (диапазон Int64)?

1 Ответ

3 голосов
/ 04 апреля 2011

Посмотрев, что это не существует чистого способа сделать это только с помощью 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();
    }
...