I'm trying to get error messages from Zend_Form and response as json. What is the best practice of getting Zend_Form errors and replying as 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());
}
}
I can't get errors via $form->getErrorMessages()
, but errors are present if tested print_r($form->gerErrors())
Array
(
[email] => Array
(
[0] => isEmpty
)
[password] => Array
(
[0] => isEmpty
)
[foreign] => Array
(
)
[login] => Array
(
)
)
So, my questions are:
a) How to get all error messages for form?
b) Is there any Json Wrapper for resposning ajax submitted forms? For example $jsonResponse->setErrorStatus()->addFormErrors($form)
Have you tried getMessages
? I think this is the method you'd like to use to get human-friendly error messages.
You wrote you've tried getErrorMessages
and getErrors
, but getMessages
is a different beast altogether, that's why I'm asking whether you've tried it.
getErrors
returns codes, getErrorMessages
returns registered custom error messages (seems probable you have none), while getMessages
returns the actual human-friendly error messages.