logo

该视频仅会员有权观看

立即开通课程「Node 框架 Express 实践」权限。

¥
199
/ 年

创建验证更新用户数据中间件

  • 需要更新用户界面,检查用户当前登录密码及更新数据。
  • 创建一个中间件validateUpdateUserData以处理这些数据验证。
  • 从请求体request.body解构出validateupdate对象。
  • validate应包含当前用户密码,update包括用户希望更新的信息。
  • request.user解构用户ID以确认用户登录状态。
  • 使用try-catch块来处理验证,在catch中处理错误。
  • 验证用户是否提供了密码,若未提供则触发异常“password is required”。
  • 获取用户数据,包括密码,以验证提交的密码是否与当前密码匹配。
  • 如果密码不匹配,触发异常“password does not match”。
  • 检查是否用户名已占用,若占用则触发异常“user already exists”。
  • 如果用户试图更新与原密码相同的密码,触发“password is the same”异常。
  • 在用户数据中更新密码前,使用bcrypt进行hash处理。
  • 在异常处理器中添加处理“password is the same”异常的逻辑,返回状态码400和相应错误信息。