フォーム(index.php)で、入力項目のバリデーションに引っかかった場合は
エラーメッセージ表示と共に入力した値が入った状態でフォームに戻るのですが、
入力項目のバリデーションは通り、それ以降の処理
(例えばメールの送信や、ファイルのアップデート、値のDBへの保存)でエラーが出て、完了ページに遷移出来なかった場合には
PHP
1$this->Session->setflash('何らかのエラーが発生しました'); 2$this->redirect(array('controller' => 'hoges', 'action' => 'index'));
のようにしてフォームにリダイレクトしています。
その際、入力した値がすべてクリアされてしまうため、POSTされてきた値をフォームに入れておきたいのですがどのようにすればよいでしょうか?
ちなみに全てがエラー無く通った場合は、$this->render('finish');
で完了ページを表示させています。
出来ましたら、値を保持の方法と一緒に、それをView側に表示させるのかの記述も教えて頂けませんでしょうか。
何卒よろしくお願い致します。
HTML
1<!--View側サンプル--> 2<?php echo $this->Form->input('title', array('type'=>'text', 'placeholder'=>'入力して下さい', 'div'=>false, 'id'=>false, 'label'=>false, 'required'=>false, 'error'=>false)); ?> 3<?php echo $this->Form->input('content', array('type'=>'text', 'placeholder'=>'入力して下さい', 'div'=>false, 'id'=>false, 'label'=>false, 'required'=>false, 'error'=>false)); ?> 4
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/02/25 16:49
2016/02/26 00:37
2016/02/26 01:49