【发布时间】:2023-01-01 18:21:43
【问题描述】:
我已经在 Controller 中将这段代码作为表单的 Action 编写:
public function submitAsk(Request $request)
{
$rules = [
'title' => 'required|max:255',
'description' => 'required|max:1000',
'category' => 'required',
'tags' => 'required',
];
$messages = [
'required' => ':attribute can not be empty'
];
$validator = Validator::make($request, $rules, $messages);
if ($validator->fails()) {
return redirect('questions/ask')
->withErrors($validator)
->withInput();
}
...
}
但我收到此错误:
Illuminate\Validation\Factory::make():参数 #1 ($data) 必须是数组类型,Illuminate\Http\Request 给定,在 C:\projectname\vendor\laravel\framework\src\Illuminate\Support\ 中调用Facades\Facade.php 第 338 行
那么这里出了什么问题?
我该如何解决这个问题?
【问题讨论】:
-
那么你直接传递
$request而不是$request->all() -
@brombeer 我刚刚从那里复制并粘贴了代码,所以这意味着它没有帮助
-
@xenooooo 是的,就是这样:)
标签: php laravel laravel-9 laravel-validation laravel-request