バリデーションチェック

public function store(Request $request)
{
    // バリデーションのルールを設定
    $request->validate([
        'pickup_time.*' => 'required|date_format:H:i',
        'pickup_location.*' => 'required|string',
        'dropoff_time.*' => 'required|date_format:H:i',
        'dropoff_location.*' => 'required|string',
    ]);

    $user_id = auth()->user()->id;

    foreach ($request->pickup_time as $date => $time) {
        if (!is_null($time)) {
            Yoyaku::updateOrCreate(
            [
                'user_id' => $user_id,
                'date' => $date
            ],
            [
                'pickup_time' => $request->pickup_time[$date] ?? null,
                'pickup_location' => $request->pickup_location[$date] ?? null,
                'dropoff_time' => $request->dropoff_time[$date] ?? null,
                'dropoff_location' => $request->dropoff_location[$date] ?? null,
            ]
            );
        }
    }

    return redirect()->back()->with('message', '投稿を作成しました');
}

use Illuminate\Support\Facades\Validator; // 必要に応じて追加

public function store(Request $request)
{
    $user_id = auth()->user()->id;

    // pickup_timeがnullでないことを確認
    if ($request->pickup_time) {
        foreach ($request->pickup_time as $date => $time) {
            if (!is_null($time)) {

                $dataToValidate = [
                    'pickup_time' => $request->pickup_time[$date] ?? null,
                    'pickup_location' => $request->pickup_location[$date] ?? null,
                    'dropoff_time' => $request->dropoff_time[$date] ?? null,
                    'dropoff_location' => $request->dropoff_location[$date] ?? null,
                ];

                // バリデーションルール
                $rules = [
                    'pickup_time' => 'required|date_format:H:i',
                    'pickup_location' => 'required|string',
                    'dropoff_time' => 'required|date_format:H:i',
                    'dropoff_location' => 'required|string',
                ];

                $validator = Validator::make($dataToValidate, $rules);

                if ($validator->fails()) {
                    return redirect()->back()->withErrors($validator)->withInput();
                }

                // 以降、データベースへの保存などの処理
            }
        }
    }

    // 処理が成功した場合のリダイレクト
    return redirect()->back()->with('message', '投稿を作成しました');
}