【问题标题】:Laravel request validation errorLaravel 请求验证错误
【发布时间】:2017-07-16 07:50:26
【问题描述】:

类型错误:传递给 App\Http\Controllers\Controller::validate() 的参数 1 必须是 Illuminate\Http\Request 的实例,给定数组,在第 23 行的 app\Http\Controllers\RegistrationController.php 中调用

这里不行

Registration Controller

但同时在另一个控制器中工作正常

AuthController

【问题讨论】:

标签: laravel validation controller


【解决方案1】:

您收到此错误的原因是您将验证规则传递给 request() 辅助函数,而不是作为 $this->validate() 的第二个参数

您仍然可以使用 request() 辅助函数,但您只需要这样做:

$this->validate(request(), [
    'name'     => 'required',
    'email'    => 'required|email',
    'password' => 'password|confirmed', //<-- Is the password rule something you've created?!?
]);

希望这会有所帮助!

【讨论】:

    【解决方案2】:

    如果你想使用请求,function store()应该是function store(Request $request)。不过@CBroe 是对的:请学会更好地提问。

    【讨论】:

    • 我一直在努力制定这个特定的问题,我同意它并不清楚。我发现了我的错误,应该将请求助手作为第一个参数进行验证,并将一组字段作为第二个参数进行验证。
    猜你喜欢
    • 2021-04-10
    • 2017-10-20
    • 2017-11-21
    • 2020-01-13
    • 2020-04-28
    • 2017-11-07
    • 2018-05-25
    • 2017-03-29
    • 2020-01-17
    相关资源
    最近更新 更多