首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel 9使用API更改当前密码

Laravel 9使用API更改当前密码
EN

Stack Overflow用户
提问于 2022-11-04 16:33:03
回答 1查看 53关注 0票数 0

我想在Laravel 9中使用api修改密码--我使用postman,但我遇到了一个无法解决的问题--我尝试了不止一种方法,得到了相同的错误

这是路线:

代码语言:javascript
复制
 Route::get('changePassword', [AuthController::class, 'ChangePassword']);

这是一种模式:

这是控制器:

代码语言:javascript
复制
 public function ChangePassword(Request $request)
   {
      $validator=Validator::make($request->all(),[
         'old_password'        =>'required',
         'new_password'         =>'required|min:8|max:30',
         'confirm_password' =>'required|same:new_password'
      ]);
      if ($validator->fails()) {
         return response()->json([
            'message'=>'validations fails',
            'errors' =>$validator->errors()
         ],422);
      }
      $user=$request->user();

      if (Hash::check($request->old_password,$user->password)) {
         $user->update([
            'password'=>Hash::make($request->password)
         ]);


         return response()->json([
            'message'=>' password successfully updated',
            'errors' =>$validator->errors()
         ],200);
      }
      else
      {
         return response()->json([
            'message'=>'old password does not match',
            'errors' =>$validator->errors()
         ],422);
      }
   }

我在邮递员身上遇到的错误是:

有什么问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-04 20:25:15

试试看,你忘了new_password

代码语言:javascript
复制
 public function ChangePassword(Request $request)
   {
      $validator=Validator::make($request->all(),[
         'old_password'        =>'required',
         'new_password'         =>'required|min:8|max:30',
         'confirm_password' =>'required|same:new_password'
      ]);
      if ($validator->fails()) {
         return response()->json([
            'message'=>'validations fails',
            'errors' =>$validator->errors()
         ],422);
      }
      $user=$request->user();

      if (Hash::check($request->old_password,$user->password)) {
         $user->update([
            'password'=>Hash::make($request->new_password)
         ]);


         return response()->json([
            'message'=>' password successfully updated',
            'errors' =>$validator->errors()
         ],200);
      }
      else
      {
         return response()->json([
            'message'=>'old password does not match',
            'errors' =>$validator->errors()
         ],422);
      }
   }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74320220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档