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

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.