例としてファイルのアップロード
サーバー側のController
// バリデーションルールを定義
$validator = Validator::make($request->all(), [
'photo' => 'required|file|image|mimes:jpeg,png,jpg|max:2048',
]);
if ($validator->fails()) {
// バリデーションエラーをJSON形式で返却
return response()->json([
'errors' => $validator->errors(),
], 422); // 422はステータスコード
}
クライアント側のJS
try {
const response = await fetch('upload', {
method: 'POST',
headers: {
'X-CSRF-TOKEN': csrfToken,
},
body: formData,
});
if (response.ok) {
alert('アップロード成功!');
} else {
// レスポンスからエラー内容を取得
const errorData = await response.json();
if (errorData.errors) {
// バリデーションエラーがある場合、内容を表示
const errorMessages = Object.values(errorData.errors).flat().join('\n');
alert('アップロードが失敗しました:\n' + errorMessages);
} else {
// その他のエラー
alert('アップロードが失敗しました: ' + response.statusText);
}
}
} catch (error) {
alert('エラーが発生しました: ' + error.message);
}
投稿者プロフィール
最新の投稿
Laravel2025年4月11日XServer Lalavelのタスクスケジューラー
ぼやき2025年4月11日Google Search Console セキュリティの問題
Git2025年4月3日GithubActionsでのSSH系エラー
Git2025年3月21日git コマンド集