Принудительно отправить сообщение об ошибке Zend Form Element - PullRequest
0 голосов
/ 15 февраля 2011
    // Process the forms
    if (($this->getRequest()->isPost())
            && ($this->getRequest()->isXmlHttpRequest())) {

        // Initiate response
        $status = false;
        $msg = '';
        $zf = null;

        // Error test
        $form->getElement('no')->addError('This is the error message');            

        if ($form->isValid($this->getRequest()->getPost())) {

        // Everything is good
            $status = true;

        } else {

        // Get the error messages
            $zf = $form->getMessages();
        }

        // Setup the response
        $result = json_encode(array('status' => $status,
                                    'msg' => $msg,
                                    'zf' => $zf));

        $this->_helper->viewRenderer->setNoRender();
        $this->_helper->layout()->disableLayout();

        $this->getResponse()->setHeader('Content-Type', 'application/json');
        $this->getResponse()->setBody($result);

        return;

    } else {
        // Populate the form
    }

Как видите, я использовал $form->getElement('no')->addError('This is the error message');, чтобы вызвать ошибку для элемента формы, но $form->getMessages(); все равно вернул бы NULL. Итак, что я должен сделать, чтобы вызвать ошибку на выбранном элементе формы?

Ответы [ 2 ]

1 голос
/ 15 февраля 2011

Я думаю, вы получили сообщение ErrorMessages ()

$form->getErrorMessages()
0 голосов
/ 19 февраля 2011

Я открыл отчет об ошибке для этой проблемы: http://framework.zend.com/issues/browse/ZF-11088. Я обновлю этот вопрос, если будет какой-либо новый прогресс.

...