route('tier')->id ?? $this->route('id'); return [ 'tier_name' => [ 'sometimes', 'required', 'string', 'max:100', Rule::unique('client_tiers', 'tier_name')->ignore($tierId), ], 'min_purchase_amount' => ['sometimes', 'required', 'numeric', 'min:0'], 'max_purchase_amount' => ['nullable', 'numeric', 'gt:min_purchase_amount'], 'discount_percentage' => ['sometimes', 'required', 'numeric', 'min:0', 'max:100'], 'is_active' => ['boolean'], ]; } /** * Get custom messages for validator errors. */ public function messages(): array { return [ 'tier_name.required' => 'El nombre del tier es requerido', 'tier_name.unique' => 'Ya existe un tier con este nombre', 'min_purchase_amount.required' => 'El monto mínimo es requerido', 'min_purchase_amount.min' => 'El monto mínimo debe ser mayor o igual a 0', 'max_purchase_amount.gt' => 'El monto máximo debe ser mayor al monto mínimo', 'discount_percentage.required' => 'El porcentaje de descuento es requerido', 'discount_percentage.min' => 'El descuento debe ser mayor o igual a 0', 'discount_percentage.max' => 'El descuento no puede ser mayor a 100%', ]; } }