This article has been localized into German by the community.
Kundenvalidierung
Wenn Ihnen keiner der anderen Validatoren helfen kann, kann dies in der Regel der CustomValidator. Es gibt keine vordefinierte Arbeitsweise. Sie schreiben den Code, um sich selbst zu validieren. Dies ist natürlich sehr mächtig, da die Möglichkeiten im Grunde unendlich sind. Eine gebräuchliche Methode zur Verwendung des CustomValidator besteht darin, dass Sie eine Datenbanksuche durchführen müssen, um festzustellen, ob der Wert gültig ist. Da dieses Tutorial den Datenbankzugriff noch nicht behandelt hat, werden wir ein einfacheres Beispiel zeigen, aber Sie werden hoffentlich feststellen, dass Sie mit dem CustomValidator so gut wie alles machen können. Mit dem Steuerelement können Sie sowohl clientseitig als auch serverseitig validieren, wobei der serverseitige Ansatz wahrscheinlich der leistungsfähigste ist. Natürlich erfordert die serverseitige Validierung ein Postback zur Validierung, aber in den meisten Fällen ist dies kein wirkliches Problem.
In diesem Beispiel überprüfen wir einfach die Länge der Zeichenfolge in der TextBox. Dies ist ein sehr einfaches und nützliches Beispiel, das Ihnen nur zeigen soll, wie Sie den CustomValidator verwenden können.
Custom text:<br />
<asp:TextBox runat="server" id="txtCustom" />
<asp:CustomValidator runat="server" id="cusCustom" controltovalidate="txtCustom" onservervalidate="cusCustom_ServerValidate" errormessage="The text must be exactly 8 characters long!" />
<br /><br />
Wie Sie sehen können, ist es ziemlich einfach. Die einzige unbekannte Eigenschaft ist das onservervalidate -Ereignis. Es wird verwendet, um auf eine Methode von CodeBehind zu verweisen, die die Validierung übernimmt. Wechseln Sie zu unserer CodeBehind-Datei, und fügen Sie die folgende Methode hinzu:
protected void cusCustom_ServerValidate(object sender, ServerValidateEventArgs e)
{
if(e.Value.Length == 8)
e.IsValid = true;
else
e.IsValid = false;
}
Das ist sehr einfach. Der Validator setzt den booleschen Wert von e.IsValid entweder auf true oder false. Hier überprüfen wir den e.Value, der die Zeichenfolge des zu überprüfenden Steuerelements darstellt, auf seine Länge. Wenn es genau 8 Zeichen lang ist, geben wir true zurück, andernfalls false.