ZF2如何将POST请求失败的表单填充到GET重定向中

时间:2016-11-29 14:56:10

标签: zend-framework zend-framework2

我遵循REST标准,您使用POST操作创建资源,GET显示数据。

包括使用GET显示创建表单,使用POST来处理资源的实际创建(AKA,保存到数据库)。

如果POST请求失败(比方说,重复的电子邮件地址),则返回302作为响应,将用户重定向回表单(类似于{{ 1}}与GET /resource/create)。

如何在ZF2中重定向后保留从302发送的数据?

或者,也许ZF2不支持这个/我们不应该进行302重定向?

1 个答案:

答案 0 :(得分:1)

我只是觉得你想把数据传回形式。并在每个字段上显示数据。通常,对于失败的请求,您不需要make redirection。只需显示formdata即可。只需在进程成功时使用重定向(保存到数据库)。

$form = new Form(); // your form
$request = $this->getRequest();
if ($request->isPost()) {
    $form->setData($request->getPost());
    if ($form->isValid()) {
        // saving data here then redirect
        $this->redirect()->toRoute('route', array('action' => 'name'), array('param => 1'));
    } 
}

return array('form' => $form);