从Zend_Form获取错误消息并以json的形式响应

时间:2012-07-31 11:33:51

标签: php ajax json zend-framework zend-form

我正在尝试从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()收到错误,但如果经过测试{} 1}会出现错误

print_r($form->gerErrors())

所以,我的问题是:

a)如何获取表单的所有错误消息?

b)是否有任何Json Wrapper用于重新提交ajax提交的表单?例如Array ( [email] => Array ( [0] => isEmpty ) [password] => Array ( [0] => isEmpty ) [foreign] => Array ( ) [login] => Array ( ) )

1 个答案:

答案 0 :(得分:18)

你试过getMessages吗?我认为这是您希望用于获取人性化错误消息的方法。

您写道,您已尝试过getErrorMessagesgetErrors,但getMessages完全是一个不同的野兽,这就是我问您是否尝试过它的原因。

getErrors返回代码,getErrorMessages返回已注册的自定义错误消息(似乎很可能没有),而getMessages则返回实际的人性化错误消息。