如何使用自定义请求(make:request)? (laravel)方法App\Http\Requests\Custom::doesExist我不存在

How to Use custom request (make:request)? (laravel) Method App\Http\Requests\Custom::doesExistI does not exist

我创建了一个自定义请求来进行我自己的验证。当我遵循这些 article.

我创建了 ProfileRequest

php artisan make:request ProfileRequest

在我的 ProfileRequest

<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class ProfileRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'name' => 'required|min:10',
            'age' => 'required|numeric'
        ]; 
    }
}


我的问题是当我在控制器内部使用 ProfileRequest 时,如下所示:

namespace App\Http\Controllers;

use Illuminate\Http\Request;
class ProfileController extends Controller
{
    public function update(ProfileRequest $request){
        return "123";
    }
}

它 returns 如下所示的错误:

Class App\Http\Controllers\ProfileRequest does not exist

先生们,我需要您的帮助。有人知道如何使用自定义请求吗?

您需要在控制器中导入 App\Http\Requests\ProfileRequest

赞:use App\Http\Requests\ProfileRequest

然后尝试:composer dumpautoloadphp artisan cache:clear

您已导入use Illuminate\Http\Request;

您必须在控制器上导入 ProfileRequest 而不是 Request

就是这个:

use App\Http\Requests\ProfileRequest;

试试这个, 首先你必须在你的控制器中导入请求,

use App\Http\Requests\ProfileRequest;


 $validated = $request->validated();
        if ($validated) {
             // ...
         }

希望这对您有所帮助:)

在你的ProfileRequest.php 改变

use Illuminate\Foundation\Http\FormRequest;

use Illuminate\Http\FormRequest;

然后

php artisan config:cache 
composer dumpautoload

ProfileRequest 中将 extends FormRequest 更改为 extends Request。然后在 class 上方添加 use Illuminate\Http\Request;。代码应如下所示。

<?php

namespace App\Http\Requests;

use Illuminate\Http\Request;

class ProfileRequest extends Request
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'name' => 'required|min:10',
            'age' => 'required|numeric'
        ]; 
    }
}

然后将 App\Http\Requests\ProfileRequest; 放入您的控制器中。

创建配置文件请求

php artisan make:request Profile/ProfileRequest

在 ProfileRequest 中

<?php

namespace App\Http\Requests\Profile;

use Illuminate\Foundation\Http\FormRequest;

class ProfileUpdate extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
         return [
            'name' => 'required|min:10',
            'age' => 'required|numeric'
        ]; 
    }
}

然后在控制器中使用App\Http\Requests\Profile\ProfileRequest