回答編集履歴

2

フォーム名修正

2018/11/19 05:18

投稿

sakamata
sakamata

スコア203

test CHANGED
@@ -54,7 +54,7 @@
54
54
 
55
55
  $request->validate([
56
56
 
57
- 'address.*' => 'nullable|string|max:40',
57
+ 'hoge.*' => 'nullable|string|max:40',
58
58
 
59
59
  ]);
60
60
 

1

配列での受け取り方を追加

2018/11/19 05:18

投稿

sakamata
sakamata

スコア203

test CHANGED
@@ -1,4 +1,4 @@
1
- blade (view)にリダイレクト前のユーザーの入力値を出したいのであればヘルパ関数の oldが便利です。
1
+ blade (view)にリダイレクト前のユーザーの入力値を出したいのであればまず、ヘルパ関数の oldが便利ですが、JSで自動でフォームを追加した際の値は拾ってくれるかは試していないので、あいまいな回答になってしまいますが、何かのヒントになれば幸いです
2
2
 
3
3
 
4
4
 
@@ -15,3 +15,53 @@
15
15
  <input type="text" class="form-control form-control-lg" name="name" value="{{old('name', $item->name)}}">
16
16
 
17
17
  ```
18
+
19
+
20
+
21
+ 単数ならこれですが、配列化して複数の同じ様な入力欄などの値を使う際は以下の様に書きます。
22
+
23
+ (上と異なるフォーム名ですみません)
24
+
25
+ ```
26
+
27
+ <input type="text" name="address[{{$add->id}}][vendor]" value="{{old('address.'.$add->id.'.vendor', $add->vendor)}}">
28
+
29
+ ```
30
+
31
+ $add->id には配列で使うキーに相当する値を入れています。
32
+
33
+ `$add->id}}][vendor]` を質問に書いてあった `hoge[]` に読み替えて頂くと良いかと思います。
34
+
35
+
36
+
37
+ また、この値のバリデーションを行う際も以下の例の様に配列で受け取る必要があります。
38
+
39
+ ```
40
+
41
+ $request->validate([
42
+
43
+ 'address.*.vendor' => 'nullable|string|max:40',
44
+
45
+ ]);
46
+
47
+ ```
48
+
49
+
50
+
51
+ `hoge[]`を受け取るならこうですかね?(試してないのですが)
52
+
53
+ ```
54
+
55
+ $request->validate([
56
+
57
+ 'address.*' => 'nullable|string|max:40',
58
+
59
+ ]);
60
+
61
+ ```
62
+
63
+ 参考サイト
64
+
65
+ バリデーション (8) 配列をバリデーションする
66
+
67
+ https://www.larajapan.com/2016/10/23/%E3%83%90%E3%83%AA%E3%83%87%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3-8-%E9%85%8D%E5%88%97%E3%82%92%E3%83%90%E3%83%AA%E3%83%87%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%99%E3%82%8B/