Pregunta

Yo he aplicado RangeValidator en TextBox.Pero siempre me muestra error:Rango no válido, aunque he dado un valor mínimo 10 y un valor máximo 25.Quiero que el usuario no ingrese un valor cuya longitud sea menor que 10 y mayor que 25.Quiero que el usuario pueda ingresar cualquier cosa, así que tengo type="string" en RangeValidator.Pero siempre me da mensaje de error:Rango no válido.

<td>
    <asp:TextBox ID="tbPassword" runat="server" MaxLength="25" type="password">
    </asp:TextBox>
    <asp:RequiredFieldValidator ID="rfvPassword" runat="server" 
        ControlToValidate="tbPassword" ForeColor="red" Display="Dynamic" 
        ErrorMessage="Password is required." SetFocusOnError="true">
    </asp:RequiredFieldValidator>
    <asp:RangeValidator ID="rvPassword" ControlToValidate="tbPassword" 
        ForeColor="red" Display="Dynamic" MinimumValue="10" MaximumValue="25" 
        SetFocusOnError="true" Type="String" runat="server" 
        ErrorMessage="Invalid Range">
    </asp:RangeValidator>
</td>
¿Fue útil?

Solución

Para esto necesitarás usar un CustomValidator control como sugiere Emad Mokhtar.

Para la validación del lado del servidor, cree un evento como este.

protected void TextValidate(object source, ServerValidateEventArgs e)
{
    e.IsValid = (e.Value.Length >= 10 && e.value.Length <= 25);
}

Para la validación del lado del cliente, cree una función de JavaScript como esta.

<script type="text/javascript">
    function validateLength(oSrc, args){
        args.IsValid = (args.Value.length >= 10 && args.Value.length <= 25);
    }
</script>

Luego, en su marcado aspx tenga el CustomValidator controlar así.

<asp:Textbox id="tbPassword" runat="server" text=""></asp:Textbox>
<asp:CustomValidator id="customValidator" runat="server" 
    ControlToValidate = "tbPassword"
    OnServerValidate="TextValidate"
    ErrorMessage = "Password must be between 10 to 25 characters!"
    ClientValidationFunction="validateLength" >
</asp:CustomValidator>

Puedes encontrar más detalles aquí.

Otros consejos

Esta validación se puede implementar utilizando CustomValidator Control y aplique la validación del lado del cliente y se despliegue, busque la muestra aquí .

Recientemente observé esta función genial, solo use los atributos debajo de ASP Control / HTML. minlength="10" maxlength="1000"

A medida que los atributos establecen claramente, permite un mínimo de 10 caracteres y un máximo de 1000 caracteres.

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