['sometimes', Rule::enum(MediaTypeEnum::class)], 'source' => 'sometimes|nullable|string|max:100', 'source_id' => 'sometimes|nullable|integer', 'path' => 'sometimes|string|max:500', 'name' => 'sometimes|string|max:255', 'url' => 'sometimes|string|max:500', ]; if ($this->isMethod('post')) { $rules['type'] = ['required', Rule::enum(MediaTypeEnum::class)]; $rules['path'] = 'required|string|max:500'; $rules['name'] = 'required|string|max:255'; $rules['url'] = 'required|string|max:500'; } return $rules; } }