Использование 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();
}