Zulassen von nur bestimmten Zeichen in einem Textfeld (C#)
von Christian Wenz
ASP.NET Validierungssteuerelemente können sicherstellen, dass nur bestimmte Zeichen in benutzereingaben zulässig sind. Dies verhindert jedoch weiterhin nicht, dass Benutzer ungültige Zeichen eingeben und versuchen, das Formular zu senden.
Überblick
ASP.NET Validierungssteuerelemente können sicherstellen, dass nur bestimmte Zeichen in benutzereingaben zulässig sind. Dies verhindert jedoch weiterhin nicht, dass Benutzer ungültige Zeichen eingeben und versuchen, das Formular zu senden.
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 kümmert sich das FilteredTextBoxExtender
-Steuerelement um die Einschränkung der Zeichen, die der Benutzer eingeben darf. Legen Sie zunächst das TargetControlID
-Attribut auf den ID
des TextBox
-Steuerelements fest. Wählen Sie dann einen der verfügbaren FilterType
Werte aus:
Custom
Standard; Sie müssen eine Liste mit gültigen Zeichen angeben.LowercaseLetters
Nur KleinbuchstabenNumbers
Nur ZiffernUppercaseLetters
Nur Großbuchstaben
Wenn verwendet Custom FilterType
wird, muss die ValidChars
-Eigenschaft festgelegt werden und eine Liste von Zeichen bereitstellen, 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 FilteredTextBox
nicht aufzählungssicher ist: Wenn JavaScript aktiviert ist, können alle Daten in das Textfeld eingegeben werden, sodass Sie zusätzliche Validierungsmittel verwenden müssen, z. B. ASP. Validierungssteuerelemente von NET.
Es können nur Ziffern eingegeben werden (Klicken Sie hier, um das Bild in voller Größe anzuzeigen)