Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: MVC i problem z formularzem
Forum PHP.pl > Forum > PHP
Elbacer
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 exclamation.gif!" ));
Veryfication::SetIsError($GG->CheckIsNumber( "Numer Gadu-Gadu, moze zawierac tylko cyfry exclamation.gif!" ));

Czy ten kod wrzucić do modelu czy kontrolera?
Proszę o wskazówkę.
blooregard
  1. <?php
  2. $GG = new Inputs();
  3. $GG->name = "gg";
  4. $GG->text_right = "Numer Gadu-Gadu";
  5. $GG->width = 100;
  6. ?>

Do kontrolera.

  1. <?php
  2. Veryfication::SetIsError($GG->CheckLenght( 1, 10, "Maksymalna ilosc cyfr to 10 !" ));
  3. Veryfication::SetIsError($GG->CheckIsNumber( "Numer Gadu-Gadu, moze zawierac tylko cyfry !" ));
  4. ?>

Do modelu.

Kontroler "buduje" fomularz.
Model powinien obsłużyć formularz (walidacja i dalsza obróbka danych), a widok - wyświetlić forma na stronie.
Elbacer
Thx
R4D3K
Cytat
Model powinien obsłużyć formularz (walidacja i dalsza obróbka danych), a widok - wyświetlić forma na stronie.


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. W praktyce tworzy się klasę np validate, która sprawdza czy dane są poprawne czy nie. Wynik zostanie zwrócony dla kontrolera a ten podejmuje decyzje czy przekazać je modelowi, aby zapisał dane do bazy danych, czy powołać widok który wyświetli informacje o błędnie wypełnionych polach.
blooregard
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 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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.