Wyklad TI 7


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#" %>








Zatankowano [litry]

Przejechano [km]



 [litrów/100km]




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#" %>








Zatankowano [litry]

Przejechano [km]



 [litrów/100km]



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


Kalkulator



Wyrażenie






Walidatory
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



Wysokość

ControlToValidate="txtWysokosc">Brak wysokości.
ControlToValidate="txtWysokosc" Operator="GreaterThan" Type="Double"
ValueToCompare="0">Zła wysokość.


Szerokość

ControlToValidate="txtSzerokosc" Display="Dynamic">Brak szerokości.
ControlToValidate="txtSzerokosc" ValidationExpression="\d*[0248]">Szerokość nieparzysta.


Text="Oblicz" />

Width="150px">




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