Получайте сообщения об ошибках из 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)
Ответы
Ответ 1
Вы пробовали getMessages
? Я думаю, что это метод, который вы хотите использовать для получения сообщений об ошибках, удобных для человека.
Вы написали, что вы пробовали getErrorMessages
и getErrors
, но getMessages
совсем другой зверь, поэтому я спрашиваю, пробовали ли вы его.
getErrors
возвращает коды, getErrorMessages
возвращает зарегистрированные пользовательские сообщения об ошибках (кажется, что у вас их нет), а getMessages
возвращает фактические сообщения об ошибках, удобные для человека.