Technologie internetowe
Wykład 7
Kontrola danych użytkownika
Rodzaje błędów
Błąd kompilacji
Błąd wykonania
Błąd logiczny
1
Błąd komplikacji
1: int a=5;
2: a+="cm ;
Linia 2: Nie można przekonwertować typu string na int .
Błąd wykonania
<%@ Page Language="C#" %>
2
Błąd loginczny
void PiszPoleWalca()
{
double promien = 3;
double wysokosc = 2;
double poleWalca = 2 * Math.PI * promien * h;
Response.Write("Całkowite pole powierzchni walca:" + poleWalca.ToString("F2"));
}
3
Wyjątki
Mechanizm przepływu sterowania
występujący we współczesnych językach
programowania służący do obsługi
zdarzeń wyjątkowych (w szczególności
błędów wykonania).
Przyczyny wyjątków
Błędne dane użytkownika
Brak dostępu do pliku
Problem z nawiązaniem połączenia (np.
z serwerem bazodanowym)
Przekroczenie indeksu tablicy, kolekcji
Niewystarczające uprawnienia kodu
4
Obsługa wyjątków w C#
try
{
// blok, w którym może wystąpić wyjątek
}
catch (klasa_wyjątku obiekt_wyjątku
{
// blok wykonywany w ramach obsługi wyjątku
}
finally
{
// blok zawsze wykonywany, niezależnie od wystąpienia wyjątku
}
Hierarchia wyjątków .NET
Exception
AppliactionException
SystemException
FormatException
Ponad 100 wyjątków .
DivideByZeroException
ArthmeticException
NotFiniteNumberException
OverflowException
5
<%@ Page Language="C#" %>
Wyjątki obsługujemy od najbardziej szczegółowego do najogólniejszego !
Przekazywanie wyjątków
int Iloraz(int a, int b)
Wyjątek
{
return (a/b);
}
int Zuzycie (int paliwo, int km)
{
return 100*Iloraz(paliwo,km);
}
void btnObliczClick (object s, EventArgs e)
{
lblWynik.Text=Zuzycie(30,0).ToString();
}
Wywołanie
INTERFEJS
6
Wyjątki w JavaScript
KalkulatorWalidatory
Kontrolki nadzorujące zawartość innych
kontrolek (zwykle TextBox)
Jeżeli którykolwiek walidator wykryje
problem blokuje akcje inicjowaną np.
przyciskiem Buttton i wyświetla
komunikat
Funkcjonalność walidatorów może być
realizowana po stronie serwerowej i/lub
klienckiej
7
Właściwości walidatorów
ControlToValidate wskazuje, która kontrolka jest nadzorowana
Text informacja o błędzie wyświetlana bezpośrednio przez
walidator
ErrorMessage informacja o błędzie wyświetlana w
podsumowaniu walidacji
Display decyduje, czy nieaktywny walidator zajmuje miejsce
(wartość Static) lub całkowicie znika Dynamic.
ValidationGroup grupa kontrolek podlegających pojedynczej
walidacji
EnableClientScript wykorzystanie skryptów klienckich do
walidacji
SetFocusOnError automatyczne przejście do edycji
nadzorowanej kontrolki w chwili wystąpienia błędu
RequiredFieldValidator
Sprawdza, czy w polu wpisano jakąkolwiek wartość.
ControlToValidate="txtPromien" Text="Nie podałeś promienia" />
Właściwość InitialValue pozwala przedefiniować wartość początkową.
Uwaga ! Pozostałe walidatory aktywują się tylko w wypadku wprowadzenia
jakiejś wartości do kontrolki nadzorowanej. Z tego powodu można uznać
RequiredFieldValidator za walidator obowiązkowy.
8
RangeValidator
Sprawdza, czy wartość w polu mieści się w zakresie.
MaximumValue="20" MinimumValue="5" Type="Double">
Wartość poza zakresem.
Typ wartości decyduje o poprawnym porównaniu z zakresem
MinimumValue - MaximumValue
Double, Integer String
10>2 10<2
CompareValdiator
Porównuje wartość pola z wartością lub z innym polem.
Porównywana wartość
Porównanie z wartością
ControlToValidate="txtPromien"
Operator="GreaterThan" Type="Double" ValueToCompare="0">Promień musi być
większy od zera.
Sposób porównania
Kontrolka sprawdzana
Operator="LessThanEqual" Type="Double" ControlToCompare="txtWysokosc">Promień musi być
nie większy niż wysokość.
Kontrolka porównywana
9
CompareValidator kontrola formatu danej
ControlToValidate="txtDana" Operator="DataTypeCheck"
Type="Integer">Zła typ danej.
Operator DataTypeCheck sprawdza, czy dana w kontrolce
nadzorowanej może zostać przekonwertowana do typu
określonego w Type.
ReqularExpressionValidator
Sprawdza, czy wartość w pisana w polu ma wymagany format.
ControlToValidate="txtPoczta"
ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">
Podaj poprawny adres pocztowy
Właściwość ValidationExpression zawiera wyrażenie regularne opisujące
wymagany format tekstu tutaj adresu emailowego.
Uwaga ! Wyrażenie automatycznie jest uzupełniane o symbole początku
i końca tekstu ^ .. $.
10
CustomValidator
Walidator pozwalający wprowadzić własny kod sprawdzający po stronie
serwera (zdarzenie ServerValidate) i klient (właściwość ClientValidationFunction)
Prostokąt
12
Komunikacja błędu inna niż tekst.
Tekst
MaximumValue="20" MinimumValue="5" Type="Double">
Wartość poza zakresem.
Obrazek
MaximumValue="20" MinimumValue="5" Type="Double">
.
ValidationSummary
Kontrolka zawierająca spis wszystkich błędów (ErrorMessage)
wygenerowanych przez walidatory z tej samej grupy (ValidtionGroup)
ID="RangeValidator1" runat="server" ControlToValidate="txtPromien" ErrorMessage="Zly promeń"
MaximumValue="10" MinimumValue="0" Type="Double">Podaj promień od 0 do 10
Wysokość
ErrorMessage="Zła wysokość" MaximumValue="15" MinimumValue="5" Type="Double">
Podaj wysokość 5 do 15
Właściwości:
" ShowMessageBox
" ShowSummary
13
Grupa walidacyjna
" Właściwość ValidationGroup posiadają:
" kontrolki walidatorów
" kontrolka podsumowania walidacji
" kontrolki powodujące inicjujące akcje i przeładowanie strony:
" przyciski Button, LinkButton, ImageButton
" listy ListBox, DropDownList, CheckBoxList, RadioButtonList
" pola RadioButton, CheckBox
" Właściwość ValidationGroup pozwala rozdzielić stronę na niezależnie
sprawdzane sekcje
Grupy walidacyjne - przykład
14
Kontrola danych
Walidacja po stronie klienckiej
Walidacja po stronie serwerowej
Własna logika sprawdzania
Obsługa wyjątków
15
Wyszukiwarka
Podobne podstrony:
Wyklad TI 1
Wyklad TI 9
Wyklad TI
Wyklad TI 6
Wyklad TI
PREZENTACJA wyklad TI 2
Wyklad TI
Wyklad TI 8
PREZENTACJA wyklad TI 4
Wyklad TI 4
Wyklad TI 3
PREZENTACJA wyklad TI 1
Wyklad TI
Wyklad TI 2
Wyklad TI 5
Wykład TI 05 12 11 2
TI Wykład 08
TI Wykład 03
wyklad Patryka wskaźniki TI 18 12 11
więcej podobnych podstron