maaya1109
@maaya1109

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Laravel Carbon利用した勤怠編集機能について

解決したいこと

clock_in、clock_outで出退勤処理された情報を管理者権限で編集する機能を追加しましたが、編集し、更新すると、以下のようなエラーが表示されます。
解消法を教えてください。

発生している問題・エラー

The clock in field must match the format Y-m-d TH:i.
The clock out field must match the format Y-m-d TH:i.

#コントローラー
public function edit(Attendance $attendance)
{
return view('attendances.edit', compact('attendance'));
}

public function update(Request $request, Attendance $attendance)
{
    $request->validate([
        'clock_in' => 'required|date_format:Y-m-d TH:i',
        'clock_out' => 'nullable|date_format:Y-m-d TH:i|after:clock_in',
    ]);

    $attendance->update($request->validated());

    return redirect()->route('attendances.index')->with('success', '勤怠が更新されました');
}

#Views

    <form action="{{ route('attendances.update', $attendance->id) }}" method="POST">
        @csrf
        @method('PUT')

        

        <!-- 出勤時刻 -->
        <div class="mb-3">
            <label for="clock_in" class="form-label">出勤時刻</label>
            <input type="datetime-local" name="clock_in" id="clock_in" class="form-control" value="{{ \Carbon\Carbon::parse($attendance->clock_in)->format('Y-m-d\TH:i') }}" required>
        </div>

        <!-- 退勤時刻 -->
        <div class="mb-3">
            <label for="clock_out" class="form-label">退勤時刻</label>
            <input type="datetime-local" name="clock_out" id="clock_out" class="form-control" value="{{ \Carbon\Carbon::parse($attendance->clock_out)->format('Y-m-d\TH:i') }}" required>
        </div>

        <button type="submit" class="btn btn-primary">更新</button>
    </form>

    
</div>

自分で試したこと

バリデーションとあわせるようにViewsも変更しましたが、変化なく、一旦最初の状態に戻しています。

0

1Answer

input type="datetime-local" について使ったことが無いので誤りがあるかもしれませんが、以下のような形式でどうですか?

    $request->validate([
-        'clock_in' => 'required|date_format:Y-m-d TH:i',
-        'clock_out' => 'nullable|date_format:Y-m-d TH:i|after:clock_in',
+        'clock_in' => 'required|date_format:Y-m-d\TH:i',
+        'clock_out' => 'nullable|date_format:Y-m-d\TH:i|after:clock_in',
    ]);

0Like

Your answer might help someone💌