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/create
与 302
).
如何在 ZF2 重定向后保留从 POST
发送的数据?
或者,也许 ZF2 不支持 this/we不应该进行 302 重定向?
我只是觉得您想将数据传回表单。并在每个字段上显示数据。通常,对于失败的请求,您不需要 make redirection
。只显示 form
和 data
。只需在过程成功时使用重定向(保存到数据库)。
$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);
我遵循 REST 标准,您使用 POST
操作创建资源并使用 GET
显示数据。
这包括使用 GET
显示创建表单和 POST
处理资源的实际创建(又名,保存到数据库)。
如果 POST
请求失败(比方说,重复的电子邮件地址),将返回 302
作为响应,将用户重定向回表单(有点像GET /resource/create
与 302
).
如何在 ZF2 重定向后保留从 POST
发送的数据?
或者,也许 ZF2 不支持 this/we不应该进行 302 重定向?
我只是觉得您想将数据传回表单。并在每个字段上显示数据。通常,对于失败的请求,您不需要 make redirection
。只显示 form
和 data
。只需在过程成功时使用重定向(保存到数据库)。
$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);