user()?->canManageFlights('create') ?? false; } /** * Get the validation rules that apply to the request. * * @return array|string> */ public function rules(): array { return [ 'travel_type_id' => [ 'required', 'exists:travel_types,id' ], 'flight_number' => [ 'required', 'string', 'max:50' ], 'airline_name' => [ 'required', 'string', 'max:150' ], 'origin' => [ 'required', 'string', 'max:150' ], 'destination' => [ 'required', 'string', 'max:100' ], 'departure_date' => [ 'required', 'date' ], 'departure_time' => [ 'required', 'date_format:H:i' ], 'arrival_date' => [ 'required', 'date', 'after_or_equal:departure_date' ], 'arrival_time' => [ 'required', 'date_format:H:i' ], 'duration' => [ 'required', 'string', 'max:50' ], 'price' => [ 'required', 'numeric', 'min:0' ], 'capacity' => [ 'required', 'integer', 'min:1' ], 'status' => [ 'required', 'in:0,1' ], ]; } public function messages(): array { return [ 'travel_type_id.required' => 'نوع سفر را انتخاب کنید.', 'travel_type_id.exists' => 'نوع سفر انتخاب‌شده معتبر نیست.', 'flight_number.required' => 'شماره پرواز الزامی است.', 'airline_name.required' => 'نام ایرلاین الزامی است.', 'origin.required' => 'مبدأ الزامی است.', 'destination.required' => 'مقصد الزامی است.', 'departure_date.required' => 'تاریخ حرکت الزامی است.', 'departure_date.after_or_equal:today' => 'تاریخ حرکت نمی‌تواند قبل از امروز باشد.', 'arrival_date.required' => 'تاریخ رسیدن الزامی است.', 'arrival_date.after_or_equal:departure_date' => 'تاریخ رسیدن باید بعد از تاریخ حرکت باشد.', 'price.required' => 'قیمت الزامی است.', 'price.min' => 'قیمت نمی‌تواند منفی باشد.', 'capacity.min' => 'ظرفیت باید حداقل ۱ باشد.', ]; } }