'sometimes|string|max:50', 'source' => 'sometimes|nullable|string|max:100', 'source_id' => 'sometimes|nullable|integer', 'title' => 'sometimes|string|max:255', 'message' => 'sometimes|string', 'recipient' => ['sometimes', Rule::enum(NotificationRecipientEnum::class)], 'recipient_position' => 'sometimes|nullable|string|max:100', 'recipient_sector' => 'sometimes|nullable|string|max:100', ]; if ($this->isMethod('post')) { $rules['type'] = 'required|string|max:50'; $rules['title'] = 'required|string|max:255'; $rules['message'] = 'required|string'; $rules['recipient'] = ['required', Rule::enum(NotificationRecipientEnum::class)]; } return $rules; } }