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
serafin
post
Post #2





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 23.11.2003
Skąd: Poznań

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


Veng: u mnie zajmuje sie tym validationService, dziala prawie tak jak opisal to Fido, jednakze z kilkoma roznicami...

W akcji ktora wyswietla formularz tworze instancje validationService, przekazuje jej nazwe nastepnej akcji (jesli dane sa poprawne) reguly walidacji i nazwe zmiennej do ktorej przypisac bledy...

I teraz zalozmy taki scenariusz: user zle wpisal haslo uzytkownika, validator zwraca bledy, nie redirectuje...

User dobrze wpisal haslo: validator nie zwraca bledow, zamraza (Freeze) Context (a konkretnie tylko POST), redirectuje do nastepnej akcji... W miedzyczasie Context stwierdza obecnosc zamrozonego stanu aplikacji, ustawiajac dane z POST na miejscu nowych POST ( o ile istnieja ). W nowej akcji latwo mozna sprawdzic czy nie nastapilo naduzycie - sprawdzajac z contextu czy akcja ta zostala przekierowana z poprzedniej akcji.
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 - 05:45