Laravel表单验证报错:Method Illuminate\Validation\Validator::validateDocs不存在
表单验证报错:Method Illuminate\Validation\Validator::validateDocs does not exist.
提交表单并执行验证时触发该错误,但同一文件内其他页面的表单验证功能可正常运行。
报错信息:
Method Illuminate\Validation\Validator::validateDocs does not exist.
相关代码:
public function store(Request $request) { $request->validate([ 'title' => 'required', 'category' => 'required', 'content' => 'required|min:50', 'file' => 'required|docs|mimes:txt,pdf,ppt|max:2048' $docsName = time() . '.'. $request->file->extension(); // $request->docs->move(public_path('docs'), $docsName); $request->file->storeAs('public/docs', $docsName); $postData = ['title' => $request->title, 'category' => $request->category, 'content' => $request->content, 'docs' => $docsName]; Post::create($postData); return redirect('/post')->with(['message' => 'Post added successfully!', 'status' => 'success']); }
解决方法
- 移除无效验证规则:Laravel默认没有
docs这个内置验证规则,这是报错的直接原因,直接从file的验证规则里删掉docs即可。 - 补全语法缺失:代码里
$request->validate()方法缺少闭合的]);,必须补上,否则会触发语法错误。
修改后的验证代码片段:
$request->validate([ 'title' => 'required', 'category' => 'required', 'content' => 'required|min:50', 'file' => 'required|mimes:txt,pdf,ppt|max:2048' ]);
内容的提问来源于stack exchange,提问作者orly sabesaje
相关产品推荐
相关产品推荐

