Получать сообщения об ошибках из формы Zend и ответа в формате 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
        (
        )

)

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

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

Б) Существует ли какая-либо оболочка Json для отправки отправленных форм ajax? Например $jsonResponse->setErrorStatus()->addFormErrors($form)

Author: Kirzilla, 2012-07-31

1 answers

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

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

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

 18
Author: bububaba, 2012-07-31 13:03:59