我尝试使用验证系统,但给了我错误Method IlluminateHttpRequest::validated does not exist
。
fileController.php
public function store(Request $request)
{
$this->validate($request, [
'titre' => ['bail','required_without:titre', 'string','min:3', 'max:255'],
'name' => ['bail','required_without:name', 'string','min:3', 'max:255'],
]);
$file= new File($request->validated());
$file->save();
return Redirect::to("/")
->withSuccess('Great! file has been successfully uploaded.');
}
在IlluminateHttpRequest
上没有validated
方法。该方法仅在FormRequest上(因为您不是在FormRequest中调用validate
方法的人,所以它是为您完成的,需要有一种方法来获取数据(。
您在控制器上调用的validate
方法返回经过验证的数据。
$validated = $this->validate(...):
这是@lagbox答案的另一种方式,在Laravel的验证文档中,您将看到这一点。
$validated = $request->validated();
$validated = $validator->validated();
你可以试试下面的方法。
$validator = Validator::make($request->all(), [
'title' => 'required|unique:posts|max:255',
'body' => 'required',
]);
$validated = $validator->validated();