![]() |
![]() |
![]()
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. |
|
|
![]() |
![]()
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) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 01:20 |