middleware('auth'); } public function change() { return view('auth.passwords.change'); } public function update(/*Request $request*/) { /** @var User|\stdClass $user */ $user=Auth::user(); if (!$user)$this->error("登录过期,请重新登录"); if (!Hash::check(\request("old"),$user->password))$this->error("旧密码输入有误"); if (Hash::check(\request("pwd"),$user->password))$this->error("新密码不得与旧密码相同"); $user->update(["password" => Hash::make(\request("pwd"))]); $this->success(); /*$request->validate($this->rules(), $this->validationErrorMessages()); $user->password = Hash::make($request->input('password')); $user->setRememberToken(Str::random(60)); $user->save(); event(new PasswordReset($user)); Auth::guard()->login($user); return view('auth.passwords.changed');*/ } protected function rules() { return [ 'old_password' => ['required',function($attr,$val,$fail){ $oldPwd=Auth::user()['password']; if(!Hash::check($val,$oldPwd)){ $fail('旧密码输入不匹配'); } }], 'password' => 'required|confirmed|min:6', ]; } /** * Get the password reset validation error messages. * * @return array */ protected function validationErrorMessages() { return [ 'old_password.required'=>'请输入正确的旧密码', 'password.required'=>'不得为空', 'password.min'=>'密码至少要输入 :min 位或以上', 'password.confirmed'=>'两次密码必须一致' ]; } }