You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel如何将自定义数组/请求传入FormRequest?调用validated()报错

问题:自定义FormRequest调用validated()报空指针错误

我尝试动态创建自定义请求并传入FormRequest,通过createFrom方法基于基础Request实例生成CustomFormRequest对象,但调用$request->validated()时触发错误:
Call to a member function validated() on null in /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/FormRequest.php:221

完整代码

Function A代码

private $service;

public function __construct(
    Service $service,
) {
    $this->service = $service;
}

...

$data = [
    "variable_a" => "string",
    'variable_b' => true,
];
$request = new Request();
$request->replace($data);
$customFormRequest = new CustomFormRequest();
$validate = $customFormRequest::createFrom(
    $request
);
$return_data = $this->service->project($validate);

Service代码

public function project(CustomFormRequest $request)
{
    \Log::debug($request);
    $data = $request->validated();
    \Log::debug($data);
}

注意:在Service中打印日志时,$request和$request->all()均能正常输出数组中的值。

内容的提问来源于stack exchange,提问作者Mr. Kenneth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 20:10:48