Niezależnie od tego, czy robi się to po stronie serwera, czy klienta, nie ma potrzeby zbyt wiele myśleć, a programiści mogą skupić się na projekcie głównego programu.
ASP.NET publicznie posiada sześć kontroli walidacji, które są następujące:
Opis funkcji nazwy sterowania RequiredFieldValidator służy do sprawdzenia, czy istnieje wartość wejściowa CompareValidator porównuje dwa wejścia jako zestaw RangeValidator Input niezależnie od tego, czy mieści się w określonym zakresie RegularExpressionValidator: Kontrola walidacji wyrażeń regularnych CustomValidator: Niestandardowe kontrole walidacji Podsumowanie walidacji podsumowuje wyniki walidacji
Przyjrzyjmy się, jak te sterowanie jest używane:
1. Użyj RequiredFieldValidator
Standardowy kod używany przez kontrolkę RequiredFieldValidator jest następujący:
<ASP:RequiredFieldValidator id="Validator_Name" Runat="Serwer" ControlToValidate="Nazwa kontroli do sprawdzenia" ErrorMessage="Komunikat o błędzie" Display="Statyczny| Dymatyka| Żadnych"
> Zastępcze </ASP: RequiredFieldValidator >
W powyższym standardowym kodzie: ControlToValidate: Wskazuje, że ID kontroli ma zostać sprawdzony; ErrorMessage: Wskazuje komunikat o błędzie, który pojawia się, gdy kontrola jest nieprawidłowa; Wyświetlacz: Jak wyświetlany jest komunikat o błędzie; Statyczne oznacza, że komunikat o błędzie sterowania ma pozytywne miejsce na stronie; Dymatyka oznacza, że sterowanie stroną jest zajęte tylko wtedy, gdy pojawia się komunikat o błędzie sterowania; Brak oznacza, że błąd nie jest wyświetlany w momencie pojawienia się, ale może być widoczny w podsumowaniu Validator; Tymczasowy: Gdy wyświetlacz jest statyczny, komunikat o błędzie zajmuje przestrzeń na stronie równą powierzchni "zastępczej";
Teraz spójrzmy na przykład: <ASP:TextBox id="txtName" RunAt="Server"/> <ASP:RequiredFieldValidator id="Validator1" Runat="Server" ControlToValidate="txtName" ErrorMessage="Imię musi zostać wprowadzone" Display="Statyczny"> *Należy wpisać imię </ASP:RequiredFieldValidator>
W powyższym przykładzie sprawdź, czy kontrola txtName jest wprowadzona, jeśli nie, wyświetlany jest komunikat o błędzie "Name must be entered". Czyż to nie proste? Uwaga: Powyższy kod oraz kod innych poniższych kontrolek najlepiej umieścić w Formularzu, w przeciwieństwie do ASP, Formularz najlepiej napisać w ten sposób: <Form RunAt="Serwer"> Inne kody </Form> W ten sposób formularz jest wykonywany po stronie serwera, a commit jest poprawny;
2. Kontrola CompareValidator
Porównaj sterowanie Porównaj, czy dane obu sterowania spełniają ustawienia programu, nie zrozum porównania tylko jako "równe", chociaż równość jest najczęściej stosowana, w rzeczywistości porównanie tutaj obejmuje szeroki zakres, który zrozumiesz, patrząc na standardowy kod.
Standardowy kod dla kontroli porównawczych jest następujący: <ASP:CompareValidator id="Validator_ID" RunAt="Server" ControlToValidate="ID Control to verify" errorMessage="Komunikat o błędzie" ControlToCompare="ID Control do porównania" type="String| Liczba całkowita| Double| DateTime| Waluta" operator="Równy| Nierówny| WiększyNiż| WiększyTanRówny| LessThan| LessThanEqual| DataTypeCheck" Display="Statyczny| Dymatyka| Żadnych"
> Zastępcze </ASP:CompareValidator>
W powyższym standardowym kodzie: Typ wskazuje typ danych sterowania do porównania; Operator oznacza operację porównawczą (czyli dlaczego porównanie nie jest po prostu "równe"), tutaj istnieje 7 sposobów porównania; Inne właściwości są takie same jak w RequiredFieldValidator; Zwróć uwagę na różnicę między ControlToValidate a ControlToCompare, jeśli operate jest GreateThan, to ControlToCompare musi być większy niż ControlToValidate, aby być legalny, teraz powinieneś zrozumieć znaczenie tych obu rzeczy, prawda? Na przykłady prosimy odejść do sterowania RequiredFieldValidator i zaprojektować własny na podstawie standardowego kodu.
3. Kontrola RangeValidator
Sprawdź, czy wejście mieści się w określonym zakresie, który jest określany przez MaximumValue i MinimunVlaue, a standardowy kod wygląda następująco:
<ASP:RangeValidator id="Vaidator_ID" Runat="Serwer" controlToValidate="Control ID to validate" type="Liczba całkowita" MinimumValue="Minimum" MaximumValue="Maximum" errorMessage="Komunikat o błędzie" Display="Statyczny| Dymatyka| Żadnych"
> Zastępcze </ASP:RangeValidator>
W powyższym kodzie: Użyj MinimumValue i MaximumValue do zdefiniowania zakresu wartości wejść sterujących, a typu, aby zdefiniować typ wartości wejściowych sterowania.
4. Kontrola RegularExpresionValidator (wyrażenie regularne)
Kontrola walidacji wyrażeń regularnych jest bardzo potężna, możesz łatwo samodzielnie skonstruować metodę walidacji, najpierw przyjrzyjmy się standardowemu kodowi:
<ASP:RegularExpressionValidator id="Validator_ID" RunAt="Server" ControlToValidate="Aby zweryfikować nazwę kontroli" ValidationExpression="Wyrażenie regularne" errorMessage="Komunikat o błędzie" display="Statyczny"
> Zastępcze </ASP:RegularExpressionValidator>
W powyższym standardowym kodzie głównym elementem jest ValidationExpression, teraz przyjrzyjmy się jego konstrukcji: W ValidationExpression różne znaki reprezentują różne znaczenia: "." Reprezentuje dowolne znaki; "*" oznacza, że łatwo jest go łączyć z innymi wyrażeniami; "[A-Z]" oznacza dowolną wielką literę; "\d" oznacza łatwą liczbę; Należy zauważyć, że w powyższym wyrażeniu cudzysłów nie ma uwzględnienia; Przykład: Wyrażenie regularne: ".*[A-Z]" oznacza dowolną kombinację znaków zaczynającą się od cyfry, po której następuje wielka litera.
5. WalidacjaKontrola podsumowująca
Ta kontrola zbiera wszystkie informacje o błędach walidacyjnych dla tej strony i może je uporządkować do późniejszego wyświetlenia. Jego standardowy kod brzmi następująco:
<ASP:ValidationSummary id="Validator_ID" RunAT="Server" HeaderText="Informacje o nagłówku" ShowSummary="True| Fałsz" DiaplayMode="Lista| BulletList| SingleParagraph"
> </ASP: Podsumowanie walidacji > W powyższym standardowym kodzie HeadText jest równoważny headText tabeli, a DisplayMode reprezentuje wyświetlanie informacji o błędzie: List jest równoważny <BR> w HTML; BulletList jest odpowiednikiem <LI> w HTML; SingleParegraph oznacza, że nie ma możliwości dzielenia między komunikatami o błędzie;
6. Kontrola CustomValidator
Sterowanie wykorzystuje niestandardową funkcję do definiowania metody uwierzytelniania, a jego standardowy kod brzmi następująco:
<ASP:CustomValidator id="Validator_ID" RunAt="Server" controlToValidate="Control to Validate" onServerValidateFunction="Validate Function" errorMessage="Komunikat o błędzie" Display="Statyczny| Dymatyka| Żadnych"
> Zastępcze </ASP: CustomValidator >
W powyższym kodzie użytkownik musi zdefiniować funkcję do weryfikacji wejścia.
7. Podsumowanie ASP.NET wprowadzono zabezpieczenia weryfikacyjne, możesz je uznać za potężne i nie martwić się już o weryfikację. Oczywiście powyższe wprowadzenie nie jest szczególnie szczegółowe, a szczegóły są również wymagane, aby samodzielnie przeczytać SDK Microsoftu.
======================= Załącznik: asp.net wyrażenie regularne powszechnie stosowane w kontrolach walidacyjnych ======================
asp.net wyrażeń regularnych powszechnie stosowanych w kontrolach walidacyjnej:
Wpisuj tylko liczby: "^[0-9]*$"
Można wpisać tylko n-cyfrowe liczby: "^\d{n}$"
Wpisuj co najmniej n cyfr: "^\d{n,}$"
Można wpisać tylko liczby w cyfrze m-n: "^\d{m,n}$"
Można wpisać tylko liczby zaczynające się od zera i niezerowe: "^(0|[ 1-9][0-9]*)$"
Można wpisać tylko dodatnie liczby rzeczywiste z dwoma miejscami po przecinku: "^[0-9]+(.[ 0-9]{2}) $"
Można wpisać tylko dodatnie liczby rzeczywiste z 1-3 miejscami po przecinku: "^[0-9]+(.[ 0-9]{1,3}) $"
Można wpisać tylko niezerowe liczby dodatnie: "^+ [1-9][0-9]*$"
Można wpisać tylko ujemne liczby całkowite, które nie są zerowe: "^-[1-9][0-9]*$"
Można wpisać tylko znaki o długości 3: "^. {3}$"
Można wpisać tylko ciąg 26 liter: "^[A-Za-z]+$"
Można wpisać tylko ciąg 26 wielkich liter: "^[A-Z]+$"
Można wpisać tylko ciąg 26 małych liter: "^[a-z]+$"
Można wpisać tylko ciąg składający się z liczb i 26 liter: "^[A-Za-z0-9]+$"
Możesz wpisać tylko ciąg znaków składający się z cyfr, 26 liter lub podkreślenia: "^\w+$"
Weryfikacja hasła użytkownika: "^[a-zA-Z]\w{5,17}$" jest poprawnie sformatowane jako zaczynające się od litery, długości od 6 do 18, i może zawierać jedynie znaki, cyfry i podkreślenia.
Sprawdź, czy zawiera ^%&'; = $", itd.: "[^%&',; = $x 22]+"
Można wpisywać tylko znaki chińskie: "^[u4e00-u9fa5],{0,}$"
Weryfikuj adres e-mail: "^\w+[-+.] \w+)*@\w+([-.] \w+)*.\w+([-.] \w+)*$"
Sprawdź adres URL Internetu:"^http://([\w-]+.) +[\w-]+(/[\w-./ %&=]*) $"
Numer telefonu weryfikacyjnego: "^((\d{3,4})|\d{3,4}-) \d{7,8}$" jest poprawnie sformatowany: "XXXX-XXXXXXX", "XXXX-XXXXXXX", "XXX-XXXXXXX", "XXX-XXXXXXX", "XXXXXXXXXX".
Weryfikuj numer ID (15 lub 18 cyfr): "^d{15}|d{}18$"
Walidacja 12 miesięcy w roku: "^(0 [1-9]|1[0-2])$" Poprawny format to: "01"-"09" oraz "1""12"
31 dni walidacji przez miesiąc: "^(((0 [1-9])|( (1|2) [0-9])| 30|31)$" jest poprawnie sformatowany: "01", "09" i "1""31".
|