Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Skomplikowana obsługa błędów w formularzu itd.
Vengeance
post
Post #1





Grupa: Zarejestrowani
Postów: 657
Pomógł: 2
Dołączył: 15.08.2003
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Witajcie.

Często zdaża się, iż aby uzyskać maksymalnie "user-friendly" interfejs robimy coś takiego:

Użytkownik wypełnia dane w formularzu i go wysyła.
Jeśli wystąpią jakieś błędy, nad formularzem zostaje wyświetlony odpowiedni
komunikat, lecz wszelkie wprowadzone przez usera dane pozostają wpisane w
pola formularza.

Jak Wy rozwiązujecie tego typy problem? Wspomne tylko, iż chodzi mi
o rozwiązania obiektowe i maksymalnie elastyczne... bo na if-ach to nie problem
coś takiego zrobić "by tylko działało".

Może posiadacie jakieś gotowe klasy / biblioteki?
Pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
FiDO
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

Ostrzeżenie: (0%)
-----


Cytat
A po kiego diobła instrukcje warunkowe?
<input type="text" name="username" value="$_POST['username']">

Czy Wy musicie do najmniejszego bzdetu tworzy klase?

To nie jest najmniejszy bzdet wg mnie, tylko calkiem ambitne zadanie, zeby zrobic to naprawde dobrze i moc pozniej bardzo szybko stworzyc dowolny formularz z walidacja kazdego pola i wyswietlaniem bledow o jakim pisal Vengeance


Ja poki co mam tylko zalazek takiego systemu walidacji, ale ostatnio nie ma czasu na jego rozwijanie... W kazdym razie wyglada to mniej wiecej tak, ze mam klase abstrakcyjna, ktora ma troche predefiniowanych popularnych metod walidacji (sprawdzanie czy niepusty, dlugosc wieksza/mniejsza/rowna danej liczbie, dozwolone znaki, dopasowanie do regexpa itp) i zawarta w sobie obsluge owej walidacji. Gdy tworze formularz to robie klase dziedziczaca po niej. Jesli korzystamy tylko z predefiniowanych sposobow walidacji to napisanie tego to jest chwilka, a klasa zajmuje kilka(nascie) linijek w zaleznosci od ilosci pol.. mozna tez zdefiniowac zewnetrzna metode walidacji, np. jesli trzeba sprawdzic cos w bazie itp. . Do obiektu tej klasy przekazuje pola z formularza.
Jesli walidacja sie nie powiedzie to zapisuje sobie do sesji (dane te "zyja" w sesji jescze tylko przez kolejnego requesta a potem sa usuwane) stan formularza pobrany z tego obiektu (lacznie z informacja o tym, ktore pola zostaly blednie wypelnione) i wracam do strony z formularzem (redirect), gdzie przy wyswietlaniu sa odczytywane te dane z sesji (nie musze pisac tego odczytu osobno dla kazdego formularza) i wyswietlany formularz z odpowiednimi komunikatami.
Zrobilem to kiedys na szybko jak juz "znudzila" mi sie tradycyjna metoda klepania wszystkiego od nowa za kazdym razem, ale to jeszcze wymaga wielu usprawnien, zanim bede z tego zadowolony (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 01:20