質問編集履歴
2
情報追加
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
|
-
|
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
|
-
/* ファイル未選択の状態でも
|
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
不必要な分を削除
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
|
-
|