Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> MVC i problem z formularzem
Elbacer
post
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 1
Dołączył: 25.12.2008

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


Witam

Mam pytanie gdzie umieścić kod tworzący formularz, aby trzymać się struktury MVC?
Mój przykładowy kod:

$GG = new Inputs();
$GG->name = "gg";
$GG->text_right = "Numer Gadu-Gadu";
$GG->width = 100;
Veryfication::SetIsError($GG->CheckLenght( 1, 10, "Maksymalna ilosc cyfr to 10 (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) !" ));
Veryfication::SetIsError($GG->CheckIsNumber( "Numer Gadu-Gadu, moze zawierac tylko cyfry (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) !" ));

Czy ten kod wrzucić do modelu czy kontrolera?
Proszę o wskazówkę.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
blooregard
post
Post #2


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Cytat
Ja zawsze robię w taki sposób, że kontroler zarządza modelem i widokiem i według mnie (ale to oczywiście mój punkt widzenia MVC) kontroler powinien sprawdzić dane.

No, w sumie to u mnie jest podobnie, tylko że walidacja danych z formularza nie odbywa się bezpośrednio w samym kontrolerze, jedynie kontroler wywołuje odpowiednią metodę modelu, jako argument przesyłając jej tablicę danych z POST odebranych z formularza.
Potem model zwraca albo true i zwalidowane dane, albo false i tablicę z błedami, a kontroler w zależności od tego albo wywołuje metodę modelu zapisującą dane do bazy, albo ponownie buduje formularz uzupełniając go komunikatami błędów otrzymanymi z metody walidującej z modelu i zabawa zaczyna się od nowa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Oczywiście samo wyświetlanie formularza bądź komunikatu o pomyślnym zapisaniu danych odbywa się w widoku - tu też odpowiednie metody wywołuje kontroler w oparciu o rezultaty walidacji formularza.
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: 10.10.2025 - 10:29