2016-11-29 68 views
0

我遵循REST標準,您使用POST動作創建資源,並使用GET來顯示數據。ZF2如何將POST請求失敗的表單填充到GET重定向

這包括使用GET來顯示創建表格和POST來處理資源的實際創建(AKA,保存到數據庫)。

POST請求失敗的情況下(可以說,一個重複的電子郵件地址),302時(如302一個GET /resource/create種)返回的響應,將用戶重定向回的形式。

如何在ZF2中重定向後保留從POST發送的數據?

或者,也許ZF2不支持/我們不應該做302重定向?

回答

1

我只是想你想傳回數據形式。並在每個字段上顯示數據。通常,對於失敗的請求,您不需要製作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);