Использование Asp.Net RangeValidator для Int64

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

1 ответ

Решение

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