210 likes | 337 Views
Arkadiusz Twardoń ZTiPSK e-mail: Arkadiusz.Twardon@polsl.pl. Aplikacje ASP.NET. 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?
E N D
Arkadiusz Twardoń ZTiPSK e-mail: Arkadiusz.Twardon@polsl.pl Aplikacje ASP.NET
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’owilub dodaniu niewłaściwego kodu
Kontrola po stronie klienta i serwera Wprowadzeniedanych • 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) Komunikato błędzie OK? Nie Klient Tak Serwer OK? Nie Tak Aplikacja WWWpracuje 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 1 • Dodanie kontrolki sprawdzającej • Określenie kontrolki poddanej kontroli • Ustalenie zakresu poprawności danych 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 • Type
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.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