Zrobilem sobie formularz do logowania użytkownika no i wszystko działa tyle że jeśli dane nie przejdą validacji to nie wyswietla mi żadnych komunikatów a metoda getMessages zwraca pusta tablicę.
<?php private function getForm() { $form = new Zend_Form(); $form->setAction('/login/check/') ->setMethod('POST'); $login = $form->createElement('text', 'login'); $login->addValidator('alnum') ->setRequired(true) ->setLabel('Login:'); $password = $form->createElement('password', 'password'); $password->addValidator('alnum') ->setRequired(true) ->setLabel('Hasło:'); $form->addElement($login) ->addElement($password) return $form; } /* wyświetla formularz logowania jesli nie zalogowany */ public function indexAction() { $this->view->title = '- Logowanie'; //ustawienie tytułu strony if(!$this->user->hasIdentity()) //jesli nie zalogowany wyswietl formularz { $form = $this->getForm(); //pobranie formularza $form->setView(new Zend_View()); //zmiana widoku aby Zend_Form działało z Smarty $this->view->form = $form; //ustawienie formularza } } /* sprawdza poprawność wpisanych danych i loguje badź nie użytkownika */ public function checkAction() { if($this->_request->isPost()) //sprawdzenie czy został wysłany formularz { $form = $this->getForm(); if(!$form->isValid($_POST)) { // Nieudana weryfikacja; wyświetl formularz $form = $this->getForm(); //pobranie formularza $form->setView(new Zend_View()); //zmiana widoku aby Zend_Form działało z Smarty $this->view->form = $form; //ustawienie formularza } //logowanie } } ?>