我正在尝试从 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)
最佳答案
你试过getMessages
了吗?我认为这是您想要用来获取人性化错误消息的方法。
你写道你已经尝试过 getErrorMessages
和 getErrors
,但是 getMessages
是完全不同的野兽,这就是为什么我问你是否试过了。
getErrors
返回代码,getErrorMessages
返回已注册的自定义错误消息(似乎您可能没有),而 getMessages
返回实际的人性化错误消息错误信息。
关于php - 从 Zend_Form 获取错误消息并以 json 格式响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11739181/