加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – laravel 5,更新用户密码

发布时间:2020-12-14 19:50:51 所属栏目:大数据 来源:网络整理
导读:我正在使用laravel 5开发一个应用程序,允许每个用户更新他的个人资料. 为了更新密码,用户需要先输入旧密码,如果旧密码匹配,则新输入的密码将被散列并存储在DB中. 如何使用laravel表单请求验证来验证这一点? 我创建了一个自定义验证器,并将其添加到AppServic
我正在使用laravel 5开发一个应用程序,允许每个用户更新他的个人资料.
为了更新密码,用户需要先输入旧密码,如果旧密码匹配,则新输入的密码将被散列并存储在DB中.
如何使用laravel表单请求验证来验证这一点?
我创建了一个自定义验证器,并将其添加到AppServiceProvider,如下所示:
<?php

namespace AppProviders;

use Validator;
use IlluminateSupportServiceProvider;
use IlluminateSupportFacadesHash ;
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 AppHttpRequests;
use AppHttpRequestsRequest;
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',];
    }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读