teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

誤字

2019/05/22 07:30

投稿

ppphysiccc
ppphysiccc

スコア20

title CHANGED
File without changes
body CHANGED
@@ -54,6 +54,6 @@
54
54
  }
55
55
  ```
56
56
  こちらだとリダイレクトされたばかりの状態だと挙動としては問題なさそうでした。
57
- しかし、1回目だけ問題ない状態で、この状態でリダイレクトするとSessionからもデータが消えてしまうので
57
+ しかし、1回目だけ問題ない状態で、この状態でリロードするとSessionからもデータが消えてしまうので
58
58
  データを取ることができず、だめでした。
59
59
  引き続き回答をお待ちしております。

1

解決に向けた試行錯誤

2019/05/22 07:30

投稿

ppphysiccc
ppphysiccc

スコア20

title CHANGED
File without changes
body CHANGED
@@ -30,4 +30,30 @@
30
30
  ☆時々URLを実行すると「testがない」とバリデーションに引っかかるときがあるのはなぜ?リロードすると直る。
31
31
  ☆リダイレクトしてもデータをやり取りするには?
32
32
 
33
- 情報の過不足があれば追記させていただきますので、ご教示お願い致します。
33
+ 情報の過不足があれば追記させていただきますので、ご教示お願い致します。
34
+
35
+
36
+
37
+ 追記:
38
+ 新たに作成したFormRequestクラスに以下を追加して、大元のFormRequestのvalidationDataを上書きし、
39
+ このようにしてみました。
40
+ $this->all()にバリデーションデータが入っており、これをrules等のその後の処理に送るそうなので、ここで空になっているかどうかをチェックし、
41
+ リダイレクト前のページで格納したwithInputをSession::get('_old_input');で取得してみました。
42
+ ```PHP
43
+ protected function validationData()
44
+ {
45
+ $data = $this->all();
46
+
47
+ if(empty($data)){
48
+ $data = Session::get('_old_input');
49
+
50
+ if($data === null){
51
+ $data = [];
52
+ }
53
+ }
54
+ }
55
+ ```
56
+ こちらだとリダイレクトされたばかりの状態だと挙動としては問題なさそうでした。
57
+ しかし、1回目だけ問題ない状態で、この状態でリダイレクトするとSessionからもデータが消えてしまうので
58
+ データを取ることができず、だめでした。
59
+ 引き続き回答をお待ちしております。