Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
von Christian Wenz
ASP.NET Überprüfungssteuerelemente können sicherstellen, dass nur bestimmte Zeichen in der Benutzereingabe zulässig sind. Dies verhindert jedoch nicht, dass Benutzer ungültige Zeichen eingeben und versuchen, das Formular zu übermitteln.
Übersicht
ASP.NET Überprüfungssteuerelemente können sicherstellen, dass nur bestimmte Zeichen in der Benutzereingabe zulässig sind. Dies verhindert jedoch nicht, dass Benutzer ungültige Zeichen eingeben und versuchen, das Formular zu übermitteln.
Schritte
Das ASP.NET AJAX Control Toolkit enthält das FilteredTextBox Steuerelement, das ein Textfeld erweitert. Nach der Aktivierung kann nur ein bestimmter Satz von Zeichen in das Feld eingegeben werden.
Damit dies funktioniert, benötigen wir zunächst wie gewohnt den ASP.NET AJAX ScriptManager , der die JavaScript-Bibliotheken lädt, die auch vom ASP.NET AJAX Control Toolkit verwendet werden:
<asp:ScriptManager ID="asm" runat="server" />
Dann benötigen wir ein Textfeld:
Numbers only: <asp:TextBox ID="TextBox1" runat="server" />
Schließlich übernimmt das FilteredTextBoxExtender Steuerelement die Einschränkung der Zeichen, die der Benutzer eingeben darf. Legen Sie zunächst das TargetControlID Attribut auf das ID des TextBox Steuerelements fest. Wählen Sie dann einen der verfügbaren FilterType Werte aus:
-
CustomStandard; Sie müssen eine Liste der gültigen Zeichen angeben. -
LowercaseLettersNur Kleinbuchstaben -
NumbersNur Ziffern -
UppercaseLettersNur Großbuchstaben
Wenn die Custom FilterType Eigenschaft verwendet wird, muss die ValidChars Eigenschaft festgelegt und eine Liste von Zeichen bereitgestellt werden, die eingegeben werden können. Übrigens: Wenn Sie versuchen, Text in das Textfeld einzufügen, werden alle ungültigen Zeichen entfernt.
Hier ist das Markup für das FilteredTextBoxExtender-Steuerelement, das nur Ziffern zulässt (etwas, das auch mit FilterType="Numbers" möglich gewesen wäre).
<ajaxToolkit:FilteredTextBoxExtender ID="ftbe" runat="server"
TargetControlID="TextBox1" ValidChars="1234567890" />
Führen Sie die Seite aus, und versuchen Sie, einen Buchstaben einzugeben, wenn JavaScript aktiviert ist, funktioniert es nicht. Ziffern werden jedoch auf der Seite angezeigt. Beachten Sie jedoch, dass der Schutz von FilteredTextBox nicht vollständig sicher ist: Wenn JavaScript aktiviert ist, können beliebige Daten in das Textfeld eingegeben werden, sodass Sie zusätzliche Überprüfungsmethoden verwenden müssen, d.h. die Validierungssteuerelemente von ASP.NET.
Es können nur Ziffern eingegeben werden (Klicken, um das Bild in voller Größe anzuzeigen)