使用make:request的自定义验证未找到返回的控制器

时间:2018-07-31 11:32:10

标签: laravel laravel-5.6

使用php artisan make:request StoreUserData为请求创建规则:

namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;

class StoreUserData extends FormRequest {
    public function rules(){
        return [
            'name'=>'required|integer',
            'surname'=>'required|max:255|string',
        ];
    }
}

我正在尝试在控制器中使用它

namespace App\Http\Controllers;
use Illuminate\Http\Request;

class UserDataController extends Controller {
    public function store(StoreUserData $request){
        return 'valid';
    }
}

这是我得到的错误: Class App \ Http \ Controllers \ StoreUserData不存在

PS。路由不是问题。 我正在使用Laravel 5.6 https://laravel.com/docs/5.6/validation#creating-form-requests

,因此我正在关注本文档。

1 个答案:

答案 0 :(得分:1)

实际上,当您在控制器方法中使用StoreUserData时,您必须导入该类,否则将假定该类位于App\Http\Controllers命名空间中,这就是为什么它抛出 Class App \ Http \ Controllers \ StoreUserData不存在

只需在控制器类的顶部添加以下导入内容

use App\Http\Requests\StoreUserData