Ошибка при указании диапазона для RangeValidator
Я пытаюсь указать диапазон от 4 до 13. Но он сохраняет ошибку "MaximumValue 13 не может быть меньше, чем MinimumValue 4 RangeValidator1." Как я могу решить это. Вот мой код:
<asp:TextBox ID="TextBox2" runat="server" ValidationGroup="Group1"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server"
ControlToValidate="TextBox2" ErrorMessage="กรุณากรอก Password" ForeColor="Red"
ValidationGroup="Group1">*</asp:RequiredFieldValidator>
<asp:RangeValidator ID="RangeValidator1" runat="server"
ControlToValidate="TextBox2"
ErrorMessage="Password ต้องมีความยาวตั้งแต่ 4-13 ตัวอักษร" ForeColor="Red"
MaximumValue="13" MinimumValue="4" Type="String" EnableClientScript="false">*</asp:RangeValidator>
Это код в кнопке:
protected void Button2_Click1(object sender, EventArgs e)
{
try
{
if (Page.IsValid)
{
}
else
{
Insert();
}
}
catch (Exception ex)
{
}
}
Любая помощь приветствуется.
4 ответа
RangeValidator проверяет значение элемента управления, а не длину значения. Для сравнения строк "13" меньше, чем "4", поэтому вы получаете ошибку "max Вы должны использовать RegularExpressionValidator, чтобы проверить длину ввода: <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="TextBox2"
ErrorMessage="Password ต้องมีความยาวตั้งแต่ 4-13 ตัวอักษร" ForeColor="Red"
ValidationExpression="^.{4,13}$" ValidationGroup="Group1" EnableClientScript="false">*</asp:RegularExpressionValidator>
Установите тип Integer
когда вы используете RangeValidator для целочисленных значений типа.
<asp:RangeValidator ID="RangeValidator1" runat="server"
ControlToValidate="TextBox2"
ErrorMessage="Password ต้องมีความยาวตั้งแต่ 4-13 ตัวอักษร" ForeColor="Red"
MaximumValue="13" MinimumValue="4" Type="Integer" EnableClientScript="false">*</asp:RangeValidator>
Но я удивлен, что вы используете RangeValidator с полем пароля. В этом случае вы ограничиваете пользователя, чтобы поставить значение между 4-13
, Вы, вероятно, хотите проверить длину ввода. Для этого вы используете валидатор регулярных выражений.
<asp:RegularExpressionValidator ID="RegexVal" ValidationExpression="^.{4,13}$" runat="server" ErrorMessage="Password must be 4-13 character long" ControlToValidate="TextBox2" />
Тип должен быть Integer, а не String
<asp:RangeValidator ID="RangeValidator1" runat="server"
ControlToValidate="TextBox2"
ErrorMessage="Password ต้องมีความยาวตั้งแต่ 4-13 ตัวอักษร" ForeColor="Red"
MaximumValue="13" MinimumValue="4" Type="Integer" EnableClientScript="false">*
</asp:RangeValidator>
Google перевел сообщение об ошибке ниже. Пароль должен состоять из 4-13 символов.
Ответ PashaPash' /questions/3576837/oshibka-pri-ukazanii-diapazona-dlya-rangevalidator/3576845#3576845 является правильным
Указанный тип данных, который вы собираетесь проверять, в настоящее время установлен на строку. "4" больше, чем "13", поэтому вы получаете такую ошибку. Измените аргумент Type в элементе управления на Integer, и он должен работать.