'sometimes|string|max:255', 'description' => 'sometimes|nullable|string', 'category_id' => 'sometimes|nullable|integer|exists:categories,id', 'price' => 'sometimes|nullable|numeric|min:0', 'associate_price' => 'sometimes|nullable|numeric|min:0', 'supplier_price' => 'sometimes|nullable|numeric|min:0', 'status' => ['sometimes', Rule::enum(StoreItemStatusEnum::class)], 'variations' => 'sometimes|array', 'variations.*.variation_type' => 'required_with:variations|string|in:tamanho,cor,modelo', 'variations.*.variation_label' => 'required_with:variations|string|max:100', 'variations.*.variation_value' => 'nullable|numeric|min:0', 'variations.*.stock' => 'nullable|integer|min:0', ]; if ($this->isMethod('post')) { $rules['name'] = 'required|string|max:255'; } return $rules; } }