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

ZF2 how to populate a form that failed a POST request into a GET redirect

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

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

如果 POST 请求失败(比方说,重复的电子邮件地址),将返回 302 作为响应,将用户重定向回表单(有点像GET /resource/create302).

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

或者,也许 ZF2 不支持 this/we不应该进行 302 重定向?

我只是觉得您想将数据传回表单。并在每个字段上显示数据。通常,对于失败的请求,您不需要 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);