addError('用户ID必须为正整数'); return false; } $userId = (int)$value; // 查找用户 $user = User::find($userId); if (!$user) { $this->addError('用户不存在'); return false; } // 检查用户状态 if (!$this->isUserActive($user)) { $this->addError('用户状态异常,无法进行操作'); return false; } // 将用户对象设置到验证对象中 if (isset($this->args['user'])) { $this->validation->user = $user; } return true; } /** * 检查用户是否为活跃状态 * * @param User $user 用户对象 * @return bool */ private function isUserActive(User $user): bool { // 检查用户状态字段 // 假设 status = 1 表示正常状态 if (isset($user->status) && $user->status != 1) { return false; } // 检查用户是否被删除 if (isset($user->deleted_at) && $user->deleted_at !== null) { return false; } // 可以添加更多的状态检查逻辑 // 例如:检查用户是否被封禁、是否需要验证等 return true; } /** * 获取验证器描述 * * @return string */ public function getDescription(): string { return '验证用户是否存在且状态正常,确保可以进行资金操作'; } }