Мне удалось получить пример, показанный в руководстве по форме Zend Mutipage http://framework.zend.com/manual/en/zend.form.advanced.html код работает, но у меня возникла проблема с проверкой.
Первая часть формы загружается нормально, однако, когда я нажимаю кнопку «Сохранить и продолжить» во второй части формы, появляются сообщения об ошибках проверки. (Что неверно, потому что ошибки проверки должны появляться только тогда, когда пользователь отправляет вторую часть подчиненной формы).
Мне кажется, что пример, показанный на странице учебника Zend framework
if (!$temp->formIsValid())
{
$form = $this->getNextSubForm();
$this->view->form = $this->getForm()->prepareSubForm($form);
return $this->render('prepaid-funeral-plan');
}
Проверка того, действительна ли вся форма, но это вызывает проблему, заключающуюся в том, что ошибка проверки появляется во второй части подчиненной формы до того, как пользователь отправит данные.
Вот полный код формы processAction()
public function processAction()
{
if (!$form = $this->getCurrentSubForm()) {
// if there's no form data goto the beginning form stage
return $this->_forward('prepaid-funeral-plan');
}
if (!$this->subFormIsValid($form,$this->getRequest()->getPost()))
{
$this->view->form = $this->getForm()->prepareSubForm($form);
return $this->render('prepaid-funeral-plan');
}
if (!$this->formIsValid())
{
$form = $this->getNextSubForm();
$this->view->form = $this->getForm()->prepareSubForm($form);
return $this->render('prepaid-funeral-plan');
}
// Valid form!
// Render information in a verification page
$this->view->info = $this->getSessionNamespace();
$this->render('verification');
//Clear the session data!
Zend_Session::namespaceUnset($this->_namespace);
}
Большое спасибо заранее!