gpt4 book ai didi

php - laravel 5,更新用户密码

转载 作者:可可西里 更新时间:2023-11-01 13:14:28 25 4
gpt4 key购买 nike

我正在使用 laravel 5 开发一个允许每个用户更新他的个人资料的应用程序。
为了更新密码,用户需要先输入他的旧密码,如果旧密码匹配,那么他新输入的密码将被散列并存储在数据库中。我如何使用 laravel 表单请求验证 来验证这一点?

最佳答案

我创建了一个自定义验证器并将其添加到 AppServiceProvider 中,如下所示:

<?php

namespace App\Providers;

use Validator;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Hash ;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Validator::extend('password_hash_check', function($attribute, $value, $parameters, $validator) {
return Hash::check($value , $parameters[0]) ;
});
}

然后我像这样在我的表单请求验证器中使用它:

<?php
namespace App\Http\Requests;
use App\Http\Requests\Request;
class UpdateUserProfileRequest extends Request
{
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
$hashed_password = $this->user()->password ;
return [
'oldPassword'=> "password_hash_check:$hashed_password|string|min:6",
'newPassword' => 'required_with:oldPassword|confirmed|min:6',
];
}

关于php - laravel 5,更新用户密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30708916/

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