Подтвердить что ты не робот

Получайте сообщения об ошибках из Zend_Form и ответ как json

Я пытаюсь получить сообщения об ошибках из Zend_Form и ответ как json. Какова наилучшая практика получения ошибок Zend_Form и ответа как json?

<?

class SomeController extends Zend_Controller_Action {

    public function indexAction() {

        $form = new Application_SomeForm();
        if ($form->isValid( $this->getRequest()->getPost() )) {
            //do something here
        }       
        $this->_helper->json($form->getErrorMessages());

    }

}

Я не могу получить ошибки через $form->getErrorMessages(), но ошибки присутствуют, если тестируются print_r($form->gerErrors())

Array
(
    [email] => Array
        (
            [0] => isEmpty
        )

    [password] => Array
        (
            [0] => isEmpty
        )

    [foreign] => Array
        (
        )

    [login] => Array
        (
        )

)

Итак, мои вопросы:

a) Как получить все сообщения об ошибках для формы?

b) Есть ли какой-либо Json Wrapper для повторной отправки представленных форм ajax? Например $jsonResponse->setErrorStatus()->addFormErrors($form)

4b9b3361

Ответ 1

Вы пробовали getMessages? Я думаю, что это метод, который вы хотите использовать для получения сообщений об ошибках, удобных для человека.

Вы написали, что вы пробовали getErrorMessages и getErrors, но getMessages совсем другой зверь, поэтому я спрашиваю, пробовали ли вы его.

getErrors возвращает коды, getErrorMessages возвращает зарегистрированные пользовательские сообщения об ошибках (кажется, что у вас их нет), а getMessages возвращает фактические сообщения об ошибках, удобные для человека.