*/ public function rules(): array { $category = $this->route('category'); $creating = ! $category instanceof Category; $sometimes = $creating ? 'required' : 'sometimes'; return [ 'name' => [$sometimes, new Translatable(requireDefaultLocale: $creating, max: 255)], 'slug' => [ $sometimes, new Translatable(requireDefaultLocale: $creating, max: 255), new UniqueTranslatedSlug(Category::class, $category?->id), ], 'description' => ['sometimes', 'nullable', new Translatable(max: 1000)], 'color' => ['sometimes', 'nullable', 'string', 'regex:/^#[0-9a-fA-F]{6}$/'], 'position' => ['sometimes', 'integer', 'min:0'], 'is_visible' => ['sometimes', 'boolean'], ]; } }