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