Domanda

Ho applicato RangeValidator su TextBox.Ma mi mostra sempre errore: intervallo non valido, anche se ho dato valore minimo 10 e valore massimo 25. Voglio che l'utente non deve inserire il valore la cui lunghezza è inferiore a 10 e maggiore di 25. Voglio che quell'utente possa entrare in qualsiasi cosaHo type="string" in RangeValidator.Ma mi dà sempre il messaggio di errore: Intervallo non valido.

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

È stato utile?

Soluzione

Per questo è necessario utilizzare un controllo CustomValidator come suggerito da Emad Mokhtar.

Per la convalida del lato server, creare un evento come questo.

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

Per la convalida del lato client, creare una funzione JavaScript come questa.

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

Quindi nel tuo markup ASPX ha il controllo CustomValidator come questo.

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

Puoi trovare maggiori dettagli qui .

Altri suggerimenti

Questa convalida può essere implementata utilizzando il controllo personalizzato e applicare il client e la convalida laterale del cliente, si prega di trovare il campione qui .

Ho recentemente osservato questa caratteristica fantastica, basta utilizzare gli attributi sottostanti per il controllo ASP / HTML. Minlength="10" MaxLength="1000"

Come gli attributi afferma chiaramente che consente minimo di 10 caratteri e massimo di 1000 caratteri.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top