php 检测密码和确认密码,php - 如何在Laravel 5中验证当前密码,新密码和新密码的确认? - 堆栈内存溢出...

一个完整的功能,将检查所有内容。 您只需要发送old_password , new_password和confirm_password 。

public function changePassword(Request $request) {

try {

$valid = validator($request->only('old_password', 'new_password', 'confirm_password'), [

'old_password' => 'required|string|min:6',

'new_password' => 'required|string|min:6|different:old_password',

'confirm_password' => 'required_with:new_password|same:new_password|string|min:6',

], [

'confirm_password.required_with' => 'Confirm password is required.'

]);

if ($valid->fails()) {

return response()->json([

'errors' => $valid->errors(),

'message' => 'Faild to update password.',

'status' => false

], 200);

}

// Hash::check("param1", "param2")

// param1 - user password that has been entered on the form

// param2 - old password hash stored in database

if (Hash::check($request->get('old_password'), Auth::user()->password)) {

$user = User::find(Auth::user()->id);

$user->password = (new BcryptHasher)->make($request->get('new_password'));

if ($user->save()) {

return response()->json([

'data' => [],

'message' => 'Your password has been updated',

'status' => true

], 200);

}

} else {

return response()->json([

'errors' => [],

'message' => 'Wrong password entered.',

'status' => false

], 200);

}

} catch (Exception $e) {

return response()->json([

'errors' => $e->getMessage(),

'message' => 'Please try again',

'status' => false

], 200);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值