'sometimes|integer|exists:users,id', 'partner_agreement_id' => 'sometimes|integer|exists:partner_agreements,id', 'partner_agreement_service_id' => 'sometimes|integer|exists:partner_agreement_services,id', 'date' => 'sometimes|date', 'time' => 'sometimes|date_format:H:i', 'observations' => 'sometimes|nullable|string', 'status' => ['sometimes', Rule::enum(AppointmentStatusEnum::class)], ]; if ($this->isMethod('post')) { $rules['user_id'] = 'required|integer|exists:users,id'; $rules['partner_agreement_id'] = 'required|integer|exists:partner_agreements,id'; $rules['partner_agreement_service_id'] = 'required|integer|exists:partner_agreement_services,id'; $rules['date'] = 'required|date'; $rules['time'] = 'required|date_format:H:i'; } return $rules; } }