> */ public function rules(): array { return [ 'course_id' => ['required', 'integer', 'exists:courses,id'], 'start_date' => ['required', 'date', 'after_or_equal:today'], 'end_date' => ['required', 'date', 'after:start_date'], 'location' => ['required', 'string', 'max:255'], 'quota' => ['required', 'integer', 'min:1'], 'available_seats' => ['required', 'integer', 'min:0', 'lte:quota'], 'is_urgent' => ['sometimes', 'boolean'], ]; } /** * @return array */ public function messages(): array { return [ 'course_id.required' => 'Eğitim seçimi zorunludur.', 'course_id.exists' => 'Seçilen eğitim bulunamadı.', 'start_date.required' => 'Başlangıç tarihi zorunludur.', 'start_date.after_or_equal' => 'Başlangıç tarihi bugün veya sonrası olmalıdır.', 'end_date.required' => 'Bitiş tarihi zorunludur.', 'end_date.after' => 'Bitiş tarihi başlangıçtan sonra olmalıdır.', 'location.required' => 'Konum zorunludur.', 'quota.required' => 'Kontenjan zorunludur.', 'quota.min' => 'Kontenjan en az 1 olmalıdır.', 'available_seats.required' => 'Müsait koltuk sayısı zorunludur.', 'available_seats.lte' => 'Müsait koltuk sayısı kontenjandan fazla olamaz.', ]; } }