args[0] ?? PetStatus::NORMAL; try { // 获取宠物信息 $pet = PetUser::find($petId); if (!$pet) { // 宠物不存在的验证应该由 PetExistsValidator 处理 // 这里只关注状态验证 return true; } // 检查宠物状态 if ($pet->status !== $expectedStatus) { $statusName = $pet->status->name; $expectedStatusName = $expectedStatus->name; $this->addError("宠物当前状态({$statusName})不允许执行此操作,需要状态为({$expectedStatusName})"); return false; } return true; } catch (\Exception $e) { $this->addError('验证过程发生错误: ' . $e->getMessage()); return false; } } }