прекратить дальнейшее выполнение после того, как Zend-форма недействительна и заполнить форму - PullRequest
0 голосов
/ 13 мая 2011

если форма недействительна, заполните ее и прекратите дальнейшее выполнение кода. Как это установить.

1 Ответ

0 голосов
/ 23 июля 2011

Вот что я обычно делаю в своем контроллере:

public function editAction()
{
    $model = $this->_findModelFromRequestParams();

    $form = new Form_MyModelForm();
    $form->populate($model->toArray());

    //display the form for the first time and return
    if ( ! $this->_request->isPost()) {
        $this->view->form = $form;
        return;
    }

    //populate the form with the POST values, and validate. 
    //If NOT valid, display the form again
    if ( ! $form->isValid($this->_request->getPost())) {
        $this->view->form = $form;
        return;
    }

    try {
        $formData = $form->getValues();

        //save the new values here...

        //set a flash message and redirect to the view page

        $this->_redirect('/model/view/id/' . $model->id);

    } catch (Exception $e) {
        //there was some sort of error, so set a flash message with the error
        //and display the form again. $form is already populated with values 
        //since we called $form->isValid(), which populated the form
        $this->view->form = $form;
    }
}
...