Der Bereichsvalidator funktioniert nicht im minimalen und maximalen Wert von asp.net
-
21-12-2019 - |
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>
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.