質問編集履歴

5

試したことを追記しました

2021/05/15 21:28

投稿

apprentice123
apprentice123

スコア2

test CHANGED
File without changes
test CHANGED
@@ -450,7 +450,13 @@
450
450
 
451
451
 
452
452
 
453
- 「'subject[]' => 'required_unless:sum,"0"',」を「'subject[]' => 'required',」に書き換えて試したところ、どのチェックボックスにチェックを入れてもエラーになりました。画面上ではチェックマークがついていてもチェックしたことになっていないように思います。しかし、データベースにはチェックした内容が問題なく登録されています。
453
+ ①フォームリクエストの「'subject[]' => 'required_unless:sum,"0"',」を「'subject[]' => 'required',」に書き換えて試したところ、どのチェックボックスにチェックを入れてもエラーになりました。画面上ではチェックマークがついていてもチェックしたことになっていないように思います。しかし、データベースにはチェックした内容が問題なく登録されています。
454
+
455
+
456
+
457
+ 追記
458
+
459
+ ②フォームリクエストの「'subject[]' => 'required_unless:sum,"0"',」を「'subject' => 'required_unless:sum,"0"',」にした場合、学習科目のチェックに対するバリデーションは働きませんでした(学習科目が未入力のときにエラーがでません)
454
460
 
455
461
 
456
462
 

4

レイアウトを修正した

2021/05/15 21:28

投稿

apprentice123
apprentice123

スコア2

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- ```### 前提・実現したいこと
1
+ ### 前提・実現したいこと
2
2
 
3
3
 
4
4
 

3

レイアウトを修正した

2021/05/15 07:15

投稿

apprentice123
apprentice123

スコア2

test CHANGED
File without changes
test CHANGED
@@ -1,3 +1,33 @@
1
+ ```### 前提・実現したいこと
2
+
3
+
4
+
5
+
6
+
7
+ Laravel8で学習時間が0分でなければいずれかの学習科目のチェックが必要、というバリデーションを行いたいです。
8
+
9
+ しかし、学習時間0分を選択しても以下のエラーがでてしまいます。
10
+
11
+ どなたかご教示ください。よろしくお願いします。
12
+
13
+
14
+
15
+ ### 発生している問題・エラーメッセージ
16
+
17
+
18
+
19
+ ```
20
+
21
+ 学習時間が0以外の場合、科目を指定してください。
22
+
23
+ ```
24
+
25
+
26
+
27
+ ### 該当のソースコード
28
+
29
+ ```
30
+
1
31
  ```Laravel
2
32
 
3
33
  <?php
@@ -102,33 +132,17 @@
102
132
 
103
133
  }
104
134
 
105
- ```### 前提・実現したいこと
135
+
106
-
107
-
108
-
109
-
110
-
111
- Laravel8で学習時間が0分でなければいずれかの学習科目のチェックが必要、というバリデーションを行いたいです。
136
+
112
-
113
- しかし、学習時間0分を選択しても以下のエラーがでてしまいます。
137
+
114
-
115
- どなたかご教示ください。よろしくお願いします。
138
+
116
-
117
-
118
-
119
- ### 発生している問題・エラーメッセージ
139
+
120
-
121
-
122
-
140
+
141
+
142
+
143
+
144
+
123
- ```
145
+ ```
124
-
125
- 学習時間が0以外の場合、科目を指定してください。
126
-
127
- ```
128
-
129
-
130
-
131
- ### 該当のソースコード
132
146
 
133
147
  ```Laravel
134
148
 

2

コントローラを追加した

2021/05/15 07:14

投稿

apprentice123
apprentice123

スコア2

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,108 @@
1
+ ```Laravel
2
+
3
+ <?php
4
+
5
+
6
+
7
+ namespace App\Http\Controllers;
8
+
9
+
10
+
11
+ use Illuminate\Http\Request; //RecordRequestを継承
12
+
13
+ use App\Http\Requests\RecordRequest; //RecordRequestを継承
14
+
15
+ use Illuminate\Support\Facades\DB; //DBを操作する場合に必要
16
+
17
+ use App\Http\Controllers\Record;
18
+
19
+
20
+
21
+ class RecordController extends Controller
22
+
23
+ {
24
+
25
+
26
+
27
+ //
28
+
29
+ public function index(){
30
+
31
+ $items = DB::select('select * from records');
32
+
33
+ $data = ['items'=>$items];
34
+
35
+ return view('record.index',$data); //連想配列$itemsのキーを「items」とする['items'=>$items]
36
+
37
+ }
38
+
39
+
40
+
41
+ public function post(){
42
+
43
+ $items = DB::select('select * from records');
44
+
45
+ $data = ['items'=>$items];
46
+
47
+ return view('record.index',$data);
48
+
49
+ }
50
+
51
+
52
+
53
+ public function add(Request $request){
54
+
55
+ return view('record.add');
56
+
57
+ }
58
+
59
+
60
+
61
+ public function create(RecordRequest $request){ //フォームの送信内容を受け取るクラスに、RecordRequestが継承されるようにする
62
+
63
+ // バリデーション済みデータの取得
64
+
65
+ $validated = $request->validated();
66
+
67
+
68
+
69
+ $str=implode(',',$request->subject); //implodeメソッドで配列を文字列に変換
70
+
71
+
72
+
73
+ $param=[
74
+
75
+ 'date'=>$request->date,
76
+
77
+ 'sum'=>$request->sum,
78
+
79
+ 'subject'=>$str, //「'subject'というキーを、$requestオブジェクトのsubjectプロパティに割り当てる」ということ?
80
+
81
+ 'created_at'=>$request->created_at,
82
+
83
+ ];
84
+
85
+ // DB::insert('insert into records (date, sum, subject, created_at) values(:date, :sum, :subject, :timestamps)', $param);
86
+
87
+ DB::table('records')->insert($param);
88
+
89
+ return redirect('http://localhost:8000/record');
90
+
91
+ }
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+ }
104
+
1
- ### 前提・実現したいこと
105
+ ```### 前提・実現したいこと
2
106
 
3
107
 
4
108
 

1

言語名を足した

2021/05/15 07:09

投稿

apprentice123
apprentice123

スコア2

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- ここに質問の内容を詳しく書いてください。
5
+
6
6
 
7
7
  Laravel8で学習時間が0分でなければいずれかの学習科目のチェックが必要、というバリデーションを行いたいです。
8
8
 
@@ -26,7 +26,7 @@
26
26
 
27
27
  ### 該当のソースコード
28
28
 
29
- ```PHP Laravel
29
+ ```Laravel
30
30
 
31
31
  <!DOCTYPE html>
32
32
 
@@ -232,7 +232,7 @@
232
232
 
233
233
  ```
234
234
 
235
- ```PHP Laravel
235
+ ```Laravel
236
236
 
237
237
  <?php
238
238