diff --git a/app/Http/Requests/V3/Mission/RequestPortal/StoreRequest.php b/app/Http/Requests/V3/Mission/RequestPortal/StoreRequest.php index 0a466b8b..a5f8c37e 100644 --- a/app/Http/Requests/V3/Mission/RequestPortal/StoreRequest.php +++ b/app/Http/Requests/V3/Mission/RequestPortal/StoreRequest.php @@ -2,8 +2,10 @@ namespace App\Http\Requests\V3\Mission\RequestPortal; +use Carbon\Carbon; use Illuminate\Contracts\Validation\ValidationRule; use Illuminate\Foundation\Http\FormRequest; +use Illuminate\Validation\Validator; class StoreRequest extends FormRequest { @@ -37,4 +39,25 @@ class StoreRequest extends FormRequest 'category_id' => 'required|in:1,2,3', ]; } + + public function after(): array + { + return [ + function (Validator $validator) { + if ($this->type === 1){ + + $start = Carbon::parse($this->start_date); + $end = Carbon::parse($this->end_date); + + if ($start->diffInMinutes($end) > 480 ){ + $validator->errors()->add( + 'end_date', + 'مدت مأموریت روزانه نباید بیشتر از ۸ ساعت باشد.' + ); + } + + } + } + ]; + } } diff --git a/app/Http/Requests/V3/Mission/RequestPortal/UpdateRequest.php b/app/Http/Requests/V3/Mission/RequestPortal/UpdateRequest.php index dfdc6241..7f127298 100644 --- a/app/Http/Requests/V3/Mission/RequestPortal/UpdateRequest.php +++ b/app/Http/Requests/V3/Mission/RequestPortal/UpdateRequest.php @@ -3,8 +3,10 @@ namespace App\Http\Requests\V3\Mission\RequestPortal; use App\Enums\MissionStates; +use Carbon\Carbon; use Illuminate\Contracts\Validation\ValidationRule; use Illuminate\Foundation\Http\FormRequest; +use Illuminate\Validation\Validator; class UpdateRequest extends FormRequest { @@ -38,4 +40,26 @@ class UpdateRequest extends FormRequest 'category_id' => 'required|in:1,2,3', ]; } + + + public function after(): array + { + return [ + function (Validator $validator) { + if ($this->type === 1){ + + $start = Carbon::parse($this->start_date); + $end = Carbon::parse($this->end_date); + + if ($start->diffInMinutes($end) > 480 ){ + $validator->errors()->add( + 'end_date', + 'مدت مأموریت روزانه نباید بیشتر از ۸ ساعت باشد.' + ); + } + + } + } + ]; + } }