Zezwalanie tylko na niektóre znaki w polu tekstowym (VB)
Autor: Christian Wenz
ASP.NET kontrolki sprawdzania poprawności mogą zapewnić, że tylko niektóre znaki są dozwolone w danych wejściowych użytkownika. Jednak nadal nie uniemożliwia to użytkownikom wpisywania nieprawidłowych znaków i próby przesłania formularza.
Omówienie
ASP.NET kontrolki sprawdzania poprawności mogą zapewnić, że tylko niektóre znaki są dozwolone w danych wejściowych użytkownika. Jednak nadal nie uniemożliwia to użytkownikom wpisywania nieprawidłowych znaków i próby przesłania formularza.
Kroki
Zestaw narzędzi kontroli AJAX ASP.NET zawiera kontrolkę FilteredTextBox
, która rozszerza pole tekstowe. Po aktywowaniu w polu może zostać wprowadzony tylko określony zestaw znaków.
Aby to działało, najpierw potrzebujemy ASP.NET AJAX ScriptManager
, który ładuje biblioteki JavaScript, które są również używane przez ASP.NET AJAX Control Toolkit:
<asp:ScriptManager ID="asm" runat="server" />
Następnie potrzebujemy pola tekstowego:
Numbers only: <asp:TextBox ID="TextBox1" runat="server" />
Na koniec kontrolka FilteredTextBoxExtender
zajmuje się ograniczaniem znaków, które użytkownik może wpisać. Najpierw ustaw TargetControlID
atrybut ID
na kontrolkę TextBox
. Następnie wybierz jedną z dostępnych FilterType
wartości:
Custom
Domyślny; Musisz podać listę prawidłowych znakówLowercaseLetters
tylko małe literyNumbers
tylko cyfryUppercaseLetters
tylko wielkie litery
Custom FilterType
Jeśli jest używany, ValidChars
właściwość musi zostać ustawiona i podać listę znaków, które mogą być wpisywane. Dzięki temu: jeśli spróbujesz wkleić tekst do pola tekstowego, wszystkie nieprawidłowe znaki zostaną usunięte.
Oto znaczniki dla kontrolki FilteredTextBoxExtender
, która zezwala tylko na cyfry (coś, co byłoby również możliwe z FilterType="Numbers"
):
<ajaxToolkit:FilteredTextBoxExtender ID="ftbe" runat="server"
TargetControlID="TextBox1" ValidChars="1234567890" />
Uruchom stronę i spróbuj wprowadzić literę, jeśli język JavaScript jest włączony, nie będzie działać; cyfry są jednak wyświetlane na stronie. Należy jednak pamiętać, że ochrona FilteredTextBox
nie jest sprawdzona na punkcie: jeśli język JavaScript jest włączony, wszystkie dane mogą zostać wprowadzone w polu tekstowym, dlatego należy użyć dodatkowych środków weryfikacji, tj. ASP. Kontrolki walidacji platformy NET.
Można wprowadzić tylko cyfry (kliknij, aby wyświetlić obraz pełnowymiarowy)