2016-11-29 7 views
0

リソースを作成するのにPOSTアクションを使用し、データを表示するにはGETを使用するREST標準に従います。ZF2 POST要求に失敗したフォームをGETリダイレクトに埋め込む方法

これは、作成フォームを表示するためにGETを使用し、リソースの実際の作成(AKA、データベースに保存)を処理するためにPOSTを使用することを含みます。

POST要求が失敗した場合には(重複メールアドレスを言うことができます)、302バック形式(302GET /resource/createなどの一種)にユーザーをリダイレクトする、レスポンスとして返されます。

POSTから送信されたデータをZF2でリダイレクトした後でも保持するにはどうすればよいですか?

または、おそらく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); 
関連する問題