#php #laravel #validation
#php #laravel #проверка
Вопрос:
я попытался использовать систему проверки, но выдал ошибку 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.');
}
Ответ №1:
validated
Метод не включен IlluminateHttpRequest
. Этот метод используется только для FormRequests (поскольку вы не тот, кто вызывает validate
метод в FormRequest, это делается для вас, и должен быть способ получить эти данные).
validate
Метод, который вы вызываете на своем контроллере, возвращает проверенные данные.
$validated = $this->validate(...):
Ответ №2:
Это еще один способ из ответа @lagbox, в документах проверки Laravel вы увидите это.
$validated = $request->validated();
$validated = $validator->validated();
Вы можете попробовать следующий подход.
$validator = Validator::make($request->all(), [
'title' => 'required|unique:posts|max:255',
'body' => 'required',
]);
$validated = $validator->validated();
Ответ №3:
Вы можете проверить параметры $request таким образом:
$request->validate([
"param" => "required|string"
])