Pregunta

Intento especificar el rango de 4 a 13. Pero mantiene un error "El valor máximo 13 no puede ser menor que el valor mínimo 4 de RangeValidator1".Como puedo resolver esto.Aquí está mi código:


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

Este es el código en el botón:


    protected void Button2_Click1(object sender, EventArgs e)
    {
        try
        {
            if (Page.IsValid)
            {

            }
            else
            {
                Insert();
            }
        }
        catch (Exception ex)
        {

        }
    }

Cualquier ayuda apreciada.

¿Fue útil?

Solución

GRANGEDVALIDADOR valida el valor del control, no la longitud del valor.Para la comparación de cadenas "13" es menor que "4", por lo que está obteniendo el error "MAX

Debe usar RegulareXPressionValidator para verificar la longitud de entrada:

 <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
            ControlToValidate="TextBox2" 
            ErrorMessage="Password ต้องมีความยาวตั้งแต่ 4-13 ตัวอักษร" ForeColor="Red" 
            ValidationExpression="^.{4,13}$" ValidationGroup="Group1" EnableClientScript="false">*</asp:RegularExpressionValidator>

Otros consejos

Configure el tipo Integer cuando está utilizando rangoValidator para valores de tipo entero.

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

Pero me sorprende que esté usando RangeValidator con campo de contraseña.En este caso, está restringiendo al usuario para poner valor entre 4-13. Probablemente quiera verificar la longitud de la entrada.Para que uses el validador de expresión regular.

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

El tipo de datos especificado que va a verificar, actualmente, está configurado en CANTALIR."4" es mayor que "13", por eso obtiene un error de este tipo.Cambie el argumento de tipo en el control a entero y debe funcionar.

El tipo debe ser entero en lugar de cadena

<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 tradució el mensaje de error a continuación. La contraseña debe constar de 4-13 caracteres.

Pashapash 'Respuesta https://stackoverflow.com/a/21060857/263003 es la correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top