Frage

Ich habe mich beworben RangeValidator An TextBox.Aber es zeigt mir immer einen Fehler an:Ungültiger Bereich, obwohl ich den Mindestwert 10 und den Höchstwert 25 angegeben habe.Ich möchte, dass der Benutzer keinen Wert eingeben darf, dessen Länge kleiner als 10 und größer als 25 ist.Ich möchte, dass der Benutzer alles eingeben kann, also habe ich es getan type="string" In RangeValidator.Aber es gibt mir immer die Fehlermeldung:Ungültiger Bereich.

<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>
War es hilfreich?

Lösung

Dazu müssen Sie a verwenden CustomValidator Kontrolle, wie von Emad Mokhtar vorgeschlagen.

Erstellen Sie für die serverseitige Validierung ein Ereignis wie dieses.

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

Erstellen Sie für die clientseitige Validierung eine Javascript-Funktion wie diese.

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

Dann haben Sie in Ihrem ASPX-Markup das CustomValidator so steuern.

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

Weitere Details finden Sie hier Hier.

Andere Tipps

Diese Validierung kann mithilfe der CustomValidator-Steuerung implementiert werden und Ihre clientseitige und serverseitige Validierung anwenden. Bitte finden Sie ein Beispiel Hier.

Ich habe kürzlich diese coole Funktion beobachtet. Verwenden Sie einfach die folgenden Attribute, um Control/HTML zu aspn.minLength="10" maxLength="1000"

Wie aus den Attributen klar hervorgeht, sind mindestens 10 Zeichen und maximal 1000 Zeichen zulässig.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top