У меня есть asp:textbox
с прикрепленным к нему обязательным и допустимым диапазоном, где код выглядит следующим образом:
ASP:
<asp:TextBox ID="textBox1" runat="server" CausesValidation="true"></asp:TextBox>
<asp:RangeValidator ID="rangeValidator1" runat="server" ControlToValidate="textBox1" MaximumValue="1" MinimumValue="0"
ValidationGroup="valid" ForeColor="Red" ErrorMessage="Out of Range" />
<asp:RequiredFieldValidator ID="requiredValidator1" runat="server" ControlToValidate="textBox1"
ValidationGroup="valid" ForeColor="Red" ErrorMessage="Cannot be blank" />
И когда страница динамически загружается (после быстрого обратного вызова), у меня есть код, который должен изменить MaximumValue
RangeValidator на более конкретное значение. Вот код для этого:
rangeValidator1.MaximumValue = GetMaxValue(params).ToString();
Теперь я установил точку останова, и rangeValidator1.MaximumValue
устанавливается правильно, однако, когда страница загружается, и я смотрю на скомпилированный javascript на стороне клиента, кажется, что максимальное значение все равно только 1.
Что меня больше смущает, так это то, что любое целое число вводится, если первая цифра равна "1". Поэтому, если maxValue должен быть чем-то вроде "1234567", "1" будет соответствовать, как и "12345678910". Но "2" не будет. Также не будет "3000" или "46000".
У кого-то еще была аналогичная проблема с RangeValidators в текстовых блоках?