gpt4 book ai didi

laravel - 如何在 laravel 5.6 中验证当前密码

转载 作者:行者123 更新时间:2023-12-02 17:10:57 25 4
gpt4 key购买 nike

我这样尝试:

<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class ChangePasswordRequest extends FormRequest
{
...
public function rules()
{
return [
'old_password' => 'required|confirmed',
'password' => 'required|min:6',
'password_confirmation' => 'required|min:6|same:password'
];
}
}

我已经正确输入了旧密码,但仍然有一条消息:

The old password confirmation does not match.

我该如何解决这个问题?

最佳答案

你能做的就是制定规则。以下可能会解决您的问题。

当前密码.php

<?php
namespace App\Rules;
use Illuminate\Contracts\Validation\Rule;
use Illuminate\Support\Facades\Hash;
class CurrentPassword implements Rule
{
/**
* Determine if the validation rule passes.
*
* @param string $attribute
* @param mixed $value
* @return bool
*/
public function passes($attribute, $value)
{
return Hash::check($value,auth()->user()->password);
}
/**
* Get the validation error message.
*
* @return string
*/
public function message()
{
return 'Current password is incorrect';
}
}

在你的 Controller 中,你可以做这样的事情:

    $this->validate($request,[
'password_current'=>['required',new CurrentPassword()],
'password'=>'required|string|min:6|confirmed',
]);
$request->user()->update([
'password'=>bcrypt($request->password)
]);

关于laravel - 如何在 laravel 5.6 中验证当前密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49332209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com