Вопрос

Я пытаюсь указать диапазон от 4 до 13. Но оно сохраняет ошибку «MaximumValue 13 не может быть меньше, чем минимума MinmingValue 4 AndValidator1».Как я могу решить это.Вот мой код:


     <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)
        {

        }
    }
.

Любая помощь оценила.

Это было полезно?

Решение

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, когда вы используете And AndValidator для целочисленных значений типа.

<asp:RangeValidator ID="RangeValidator1" runat="server"
                ControlToValidate="TextBox2" 
                ErrorMessage="Password ต้องมีความยาวตั้งแต่ 4-13 ตัวอักษร" ForeColor="Red" 
                MaximumValue="13" MinimumValue="4" Type="Integer" EnableClientScript="false">*</asp:RangeValidator>
.

Но я удивлен, что вы используете And AndValidator с паролем поля.В этом случае вы ограничиваете пользователей, чтобы поставить значение между 4-13. Вы, вероятно, хотят проверить длину ввода.Для этого вы используете вариатор регулярного выражения.

<asp:RegularExpressionValidator ID="RegexVal" ValidationExpression="^.{4,13}$"  runat="server" ErrorMessage="Password must be 4-13 character long" ControlToValidate="TextBox2"  />
.

Указанный тип данных, который вы собираетесь проверить, в настоящее время установлено значение String.«4» больше, чем «13», поэтому вы получите такую ошибку.Измените аргумент типа в элементе управления целым числом, и он должен работать.

Тип должен быть целым числом, а не строкой

<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 'Ответ https://stackoverflow.com/a/21060857/263003 - это правильный

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top