From ad6499bce62a42222966bf9d96957ce9a24d21e4 Mon Sep 17 00:00:00 2001 From: Olivier Legat Date: Sun, 2 Jan 2022 13:03:40 +0100 Subject: [PATCH] store cell validation --- app/Http/Controllers/ScheduleController.php | 3 +- app/Http/Requests/StoreScheduleRequest.php | 49 +++++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 app/Http/Requests/StoreScheduleRequest.php diff --git a/app/Http/Controllers/ScheduleController.php b/app/Http/Controllers/ScheduleController.php index d1329d0..dd61ad6 100644 --- a/app/Http/Controllers/ScheduleController.php +++ b/app/Http/Controllers/ScheduleController.php @@ -4,6 +4,7 @@ namespace App\Http\Controllers; use App\Enums\Planning\ActivityType; use App\Enums\Role; +use App\Http\Requests\StoreScheduleRequest; use App\Models\Schedule; use App\Models\User; use App\Models\WeekPlanning; @@ -118,7 +119,7 @@ class ScheduleController extends Controller return view('schedule.index', compact('users', 'date', 'weekCells', 'arSchedules')); } - public function setCellContent(Request $request) + public function setCellContent(StoreScheduleRequest $request) { $date = CarbonImmutable::createFromFormat('d/m/Y', $request->date); $fill = $request->all(); diff --git a/app/Http/Requests/StoreScheduleRequest.php b/app/Http/Requests/StoreScheduleRequest.php new file mode 100644 index 0000000..579cf1a --- /dev/null +++ b/app/Http/Requests/StoreScheduleRequest.php @@ -0,0 +1,49 @@ +check() and $this->ajax(); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'user_id' => 'required|exists:users,id', + 'date' => 'date', + 'activity' => [ + 'required', + new EnumIsValidRule(ActivityType::class) + ], + 'slot' => [ + 'required', + new EnumIsValidRule(TableRow::class) + ], + 'model_lie' => [ + 'nullable', + new EnumIsValidRule(CellModel::class) + ], + 'id_lie' => 'required_with:model_lie|nullable|numeric', + 'description' => 'required|string|min:5|max:90' + ]; + } +}