首页 > 解决方案 > laravel 上的凭证方法失败

问题描述

我正在尝试在我的网站上制作一个切换器(用 laravel 制作),我已经解决了很多问题,现在,我在功能上遇到了错误

protected function credentials(Request $request)
    {
        return $request->only('email');

    }

我的路径如下:localhost/es/password/email 我附上代码,谢谢。

电子邮件.blade.php

@extends('layouts.app')

@section('content')
<div class="container">
    <div class="row justify-content-center">
        <div class="col-md-8">
            <div class="card">
                <div class="card-header">{{ __('Reset Password') }}</div>

                <div class="card-body">
                    @if (session('status'))
                        <div class="alert alert-success" role="alert">
                            {{ session('status') }}
                        </div>
                    @endif

                    <form method="POST" action="{{ route( 'password.email', app()->getLocale()) }}">
                        @csrf

                        <div class="form-group row">
                            <label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label>

                            <div class="col-md-6">
                                <input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email" autofocus>

                                @error('email')
                                    <span class="invalid-feedback" role="alert">
                                        <strong>{{ $message }}</strong>
                                    </span>
                                @enderror
                            </div>
                        </div>

                        <div class="form-group row mb-0">
                            <div class="col-md-6 offset-md-4">
                                <button type="submit" class="btn btn-primary">
                                    {{ __('Send Password Reset Link') }}
                                </button>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>
@endsection

网页.php

Route::redirect('/', '/en');

Route::group(['prefix' => '{language}',
            'where' => ['language' => '[a-zA-Z]{2}']],
             function(){
    Route::get('/', 'HomeController@index')->name('home');
    Route::get('/home', 'HomeController@index')->name('home');

    Auth::routes(['verify' => true]);

    Route::get('/projects', 'projectsController@create')->name('projects');
    Route::post('/createProject', 'projectsController@store'); 
    Route::post('/modifyProject/{id}', 'projectsController@update'); 
    Route::get('/projects/{id}/delete', 'projectsController@destroy');

    Auth::routes();
    Route::get('/logout', '\App\Http\Controllers\Auth\LoginController@logout');

});

如果您需要我的应用程序的更多内容,请对这篇文章说,我会粘贴进去。问候

标签: databaselaravelwebforgot-passwordpassword-recovery

解决方案


我似乎认为,如果我将凭据功能更改为:

 protected function credentials(Request $request)
    {
        //dd($request);
        return $request->only('email', '#defaultLocale');
    }

的回应

  $response = $this->broker()->sendResetLink(
            $this->credentials($request)
        );

是 passwords.throttle,应该是 passwords.sent


推荐阅读