Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Formularze
Ociu
post
Post #1





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




Pisząc CMS nadchodzi taki moment, że trzeba wkońcu zacząć tworzyć formularze.

Mam pare pomysłów, ale mimo wszystko chciałbym poznać Wasze pomysły na temat:
Jak poprzez php tworzyć formularze i jak je walidować.

Co do sprawdzania formularzy znalazłem ostatnio skrypt napisany przez Nookie do walidacji formularzy dzięki JavaScript. Zapewne jego użyję, ale jeśli macie inny pomysły to czekam z niecierpliwością.

Co do samych formularzy. Było wiele pomysłów.
  • Jest główna kalsa FormController, a każdy input, select etc. jest osobnym obiektem, dodajemy je do Controllera i renderujemy
  • mamy jedną wielką klasę FormController, gdzie metody to każdy input, select. Każda opcja ma: dodawanie, tworzenie inputa i sprawdzanie, czy taki input istnieje
  • FormController na modłe WACT

CZekam na Wasze pomysły !
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
Ludvik
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 698
Pomógł: 3
Dołączył: 28.03.2004
Skąd: Wrocław

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


Ja wyodrębniam wszystkie rodzaje pól w klasach, następnie tworzę same pola, jako instancje tych klas. Dalej, dodaję je do obiektu klasy Form, który odpowiada za cały formularz. Jeżeli chcę wyświetlić formularz, to mogę zrobić to ręcznie (z poziomu szablonów), albo stworzyć obiekt implementujący interfejs FormRenderer. Całe wyświetlanie sprowadza się do dokonania niejawnego rzutowania obiektu na string. Wszystkie klasy nieabstrakcyjne posiadają przeciążoną metodę __toString.

Walidacja najlepiej jak będzie dwuetapowa. Wpierw miło by było, gdyby sprawdzić dane po stronie klienta. Oszczędzimy pracy serwerowi w większości przypadków, kiedy dane są nieprawidłowe. Dla złośliwych i ludzi z wyłączonym JS mamy drugi etap, tym razem walidacja po stronie serwera, która jest zabezpieczeniem przed ominięciem JavaScriptu.

Wypadało by zgrabnie połączyć klasy zajmujące się generowaniem formularzy z walidacją. Po stronie serwera mam klasy implementujące interfejs FormValidator. Po stronie klienta nie rozwiązałem problemu. Jak na razie zostawiam sobie furtkę i daję przypisać zdarzenia do wszystkich obiektów.


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 12:53