Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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:
-
CustomDomyślny; Musisz podać listę prawidłowych znaków -
LowercaseLetterstylko małe litery -
Numberstylko cyfry -
UppercaseLetterstylko 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)