Arkadiusz Twardoń ZTiPSK e-mail: Arkadiusz.Twardon@polsl.pl Aplikacje ASP.NET Arkadiusz Twardoń ZTiPSK e-mail: Arkadiusz.Twardon@polsl.pl
Kontrola poprawności danych wprowadzanych przez użytkownika Na podstawie kursu MOC 2310
Wprowadzenie do kontroli poprawności danych Co to jest kontrola poprawności danych? Kontrola po stronie klienta i serwera ASP.NET Validation Controls
Co to jest kontrola poprawności danych? Sprawdzenie czy kontrolowana wartość została poprawnie wprowadzona przez użytkownika Blokada przetwarzania strony do czasu wprowadzenia wartości poprawnych zapobiega spoofing’owi lub dodaniu niewłaściwego kodu
Kontrola po stronie klienta i serwera Wprowadzenie danych ASP.NET może korzystać z obu metod kontroli Kontrola po stronie klienta Zależna od przeglądarki Natychmiastowa reakcja Minimalna liczba odwołań do serwera Kontrola po stronie serwera Może być powtórzeniem kontroli po stronie klienta Może porównać dane z danymi przechowywanymi (np. hasła) Komunikat o błędzie OK? Nie Klient Tak Serwer OK? Nie Tak Aplikacja WWW pracuje dalej
ASP.NET - kontrolki sprawdzające ASP.NET dostarcza kontrolki przeznaczone do: Porównania wartości Porównania z formułą użytkownika Porównanie z zakresem wartości Porównanie z wzorcem podanym jako wyrażenie regularne Wymaganie wprowadzenia wartości Przedstawienia zestawienia błęów
Korzystanie z kontrolek sprawdzających Dodawanie kontrolek do strony Web Form Pozycjonowanie kontrolek na stronie Kombinacje kontrolek Kontrolki Input Validation Korzystanie z kontrolki RegularExpressionValidator Korzystanie z kontrolki CustomValidator
Dodawanie kontrolek do strony Web Form Dodanie kontrolki sprawdzającej Określenie kontrolki poddanej kontroli Ustalenie zakresu poprawności danych 1 2 3 <asp:TextBox id="txtName" runat="server" /> <asp:Type_of_Validator id="Validator_id" runat="server" ControlToValidate="txtName" ErrorMessage="Message_for_error_summary" Display="static|dynamic|none" Text="Text_to_display_by_input_control"> </asp:Type_of_Validator>
Pozycjonowanie kontrolek na stronie Komunikaty o błędach Wybór trybu wyświetlania Statyczny Dynamiczny
Kombinacje kontrolek Jedna kontrolka może być sprawdzana przez kilka kontrolek sprawdzających Puste kontrolki sprawdza tylko RequiredFieldValidator
Kontrolki Input Validation RequiredFieldValidator InitialValue CompareValidator ValueToCompare or ControlToCompare Type Operator RangeValidator MinimumValue MaximumValue
Korzystanie z kontrolki RegularExpressionValidator Wykorzystywana gdy wartość ma być zgodna ze wzorcem Visual Studio .NET zawiera wzorce dla: Numerów telefonów Kodów pocztowych Adresów e-mail <asp:RegularExpressionValidator … ControlToValidate="US_PhoneNumber"… ValidationExpression="((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4} " …>*</asp:RegularExpressionValidator >
Demonstracja: korzystanie z kontrolek sprawdzających Stworzenie strony ASP.NET Web Form z kontrolkami: TextBox i Button Dodanie kontrolki RequiredFieldValidator Dodanie kontrolki RangeValidator Dodanie kontrolki RegularExpressionValidator
Korzystanie z kontrolki CustomValidator Kontrola danych po stronie serwera, klienta lub po obu stronach ClientValidationFunction OnServerValidate Kontrola może opierać się o: Formuły Dane z DB Obiekty COM Web Service
Demonstracja: Wykorzystanie kontrolki CustomValidator Dodanie kontrolki CustomValidator Wprowadzenie kodu wykonywanego po stronie serwera Wprowadzenie kodu wykonywanego po stronie klienta Testowanie rozwiązania
Kontrola poprawności zawartości strony Korzystanie z właściwości Page.IsValid Korzystanie z kontrolki ValidationSummary Demonstracja: Korzystanie z właściwości Page.IsValid i kontrolki ValidationSummary
Korzystanie z właściwości Page.IsValid Wykonywane jest sprawdzenie wszystkich kontrolek Sub cmdSubmit_Click(s As Object, e As EventArgs) If Page.IsValid Then Message.Text = "Page is valid!" ' Perform database updates or other logic here End If End Sub private void cmdSubmit_Click(object s, System.EventArgs e) { if (Page.IsValid) { Message.Text = "Page is Valid!"; // Perform database updates or other logic here }
Korzystanie z kontrolki ValidationSummary Grupuje komunikaty o błędach pochodzące od wszystkich kontrolek sprawdzających Może wyświetlać tekst i komunikaty o błędach Atrybut Text="*" wskazuje na miejsce wystąpienia błędu <asp:ValidationSummary id="valSummary" runat="server" HeaderText="These errors were found:" ShowSummary="True" DisplayMode="List"/>
Demonstracja: Korzystanie z właściwości Page Demonstracja: Korzystanie z właściwości Page.IsValid i kontrolki ValidationSummary Strona ASP.NET z kilkoma kontrolkami TextBox i kontrolkami sprawdzającymi Dodać kontrolkę ValidationSummary Dodać skrypt korzystający z właściwości IsValid obiektu Page
Podsumowanie Wprowadzenie do kontroli poprawności danych Korzystanie z Validation Controls Kontrola poprawności zawartości obiektu Page
Za tydzień Wstęp Grupa .NETPolsl Dlaczego warto się zainteresować? ASP.NET zarządzanie dostępem wygląd formularzy