質問編集履歴

2

情報追加

2022/02/21 05:31

投稿

tarou2
tarou2

スコア28

test CHANGED
@@ -1 +1 @@
1
- laravelでajaxでアップロードしたファイルのバリデーションを実行したい
1
+ laravelでajaxでアップロードしたファイルのrequiredバリデーションを実行したい
test CHANGED
@@ -4,12 +4,7 @@
4
4
  larvelでajaxを使ってcsvファイルをアップロードして、データベースに挿入する機能を実装しています。
5
5
  正しいcsvファイルをアップロードして、データベースにデータが挿入されることはできました。
6
6
 
7
- ファイル未選択時のバリデーションを行うために`required`ルールを使ファイル未選択の状態でフォームを送信したき、このルールに関して`validtion error`が起こると思ったですが起きないです。どのようすれば`required`ルールに関してバリデーションルールが起きるでしょうか。
7
+ バリデーションを行うために`required`と`mimetypes:text/plain`ルールを使用しいます。ファイル未選択の状態でフォームを送信すると`mimetyps`のバリデーションだけ引っかかり、`required`バリデーションルールには引っかかりません。どうすればファイル未選時に`required`に引っかかようになるでしょうか。
8
-
9
-
10
- ```
11
- エラーメッセージ
12
- ```
13
8
 
14
9
  ### 該当のソースコード
15
10
 
@@ -17,15 +12,15 @@
17
12
  ```php
18
13
  public function import(Request $request) {
19
14
  $validator = Validator::make($request->all(), [
20
- 'csv_file' => 'required',
15
+ 'csv_file' => ['required', 'mimetypes:text/plain'],
21
16
  ]);
22
- $request->validate();
23
17
 
24
- /* ファイル未選択の状態でもfalseになりif文の中身が実行されない */
18
+ /* ファイル未選択の状態でもrequired関するエラーは存在しない */
25
19
  if ($validator->fails())
26
20
  return response()->json([
27
21
  'success' => false,
28
22
  'flash_msg' => 'バリデーションに失敗しました。',
23
+   'validation error messages' => $validator->errors()->all(),
29
24
  ], 400);
30
25
  /* 省略 */
31
26
  }

1

不必要な分を削除

2022/02/21 04:25

投稿

tarou2
tarou2

スコア28

test CHANGED
File without changes
test CHANGED
@@ -6,7 +6,6 @@
6
6
 
7
7
  ファイル未選択時のバリデーションを行うために`required`ルールを使って、ファイル未選択の状態でフォームを送信したとき、このルールに関して`validtion error`が起こると思ったのですが起きないです。どのようにすれば`required`ルールに関してバリデーションルールが起きるでしょうか。
8
8
 
9
- ### 発生している問題・エラーメッセージ
10
9
 
11
10
  ```
12
11
  エラーメッセージ
@@ -108,5 +107,3 @@
108
107
  ### 補足情報(FW/ツールのバージョンなど)
109
108
  laravel8
110
109
 
111
- ここにより詳細な情報を記載してください。
112
-