fix code in request form for road item

This commit is contained in:
2025-09-03 12:32:17 +03:30
parent 70b4472f18
commit 4308a6443f
2 changed files with 27 additions and 1 deletions

View File

@@ -57,9 +57,11 @@ class StoreRequest extends FormRequest
$validator->errors()->add('mission_id', 'مأموریت یافت نشد.'); $validator->errors()->add('mission_id', 'مأموریت یافت نشد.');
return; return;
} }
$startTime = Carbon::parse($mission->start_time);
$finishTime = Carbon::parse($mission->finish_time);
$activityTime = Carbon::parse("{$this->activity_date} {$this->activity_time}"); $activityTime = Carbon::parse("{$this->activity_date} {$this->activity_time}");
if ($activityTime->lt($mission->start_date) || $activityTime->gt($mission->end_date)) { if (! $activityTime->between($startTime, $finishTime, true)) {
$validator->errors()->add('activity_time', 'زمان گزارش باید بین بازه مأموریت باشد.'); $validator->errors()->add('activity_time', 'زمان گزارش باید بین بازه مأموریت باشد.');
} }
} }

View File

@@ -2,9 +2,12 @@
namespace App\Http\Requests\V3\RoadItem\Operator; namespace App\Http\Requests\V3\RoadItem\Operator;
use App\Models\Mission;
use Carbon\Carbon;
use Illuminate\Contracts\Validation\ValidationRule; use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule; use Illuminate\Validation\Rule;
use Illuminate\Validation\Validator;
class UpdateRequest extends FormRequest class UpdateRequest extends FormRequest
{ {
@@ -48,4 +51,25 @@ class UpdateRequest extends FormRequest
'activity_time' => 'ساعت فعالیت', 'activity_time' => 'ساعت فعالیت',
]; ];
} }
public function after(): array
{
return [
function (Validator $validator) {
$mission = Mission::find($this->mission_id);
if (!$mission) {
$validator->errors()->add('mission_id', 'مأموریت یافت نشد.');
return;
}
$startTime = Carbon::parse($mission->start_time);
$finishTime = Carbon::parse($mission->finish_time);
$activityTime = Carbon::parse("{$this->activity_date} {$this->activity_time}");
if (! $activityTime->between($startTime, $finishTime, true)) {
$validator->errors()->add('activity_time', 'زمان گزارش باید بین بازه مأموریت باشد.');
}
}
];
}
} }