Когда форма отправляется и проходит валидацию, которая определена в классе ValidateTicketData extends FormRequest
, вы попадаете на сайт, где отображаются входные данные вашей формы.
Существует также <input type="file" />
для загрузки файла.
Правила проверки для этого определены в ValidateUploadedFile extends FormRequest
-Классе.
Когда файл проходит проверку, там должно бытьбудет отображаться что-то вроде «файл был успешно загружен» или около того.
Вот метод Controller:
public function store(ValidateFormData $request, ValidateUploadedFile $requestFile, $param = '')
{
$validated = $request->validated();
$formData = $request->all();
if ($requestFile->hasFile('file')) {
$file = $requestFile->file('file');
if ($file->validated()) {
$filename = uniqid() . $file->getClientOriginalName() . '.' . $file->getClientOriginalExtension();
$file->storeAs('store', $filename);
$file->move(public_path('store') . $filename);
}
}
return view('/validation', compact('formData'));
}
Я думал о чем-то вроде этого.
Если я пропущучасть $ requestFile ... (так, чтобы контроллер выглядел следующим образом:)
public function store(ValidateFormData $request, $param = '')
{
$validated = $request->validated();
$formData = $request->all();
return view('/validation', compact('formData'));
}
... он работает просто отлично.
Сайт 'validation' отображается спроверенные входные данные формы.
Я почему-то думаю, что это как-то связано со вторым классом Request $requestFile
, но я действительно не знаю, как это сделать.
Поскольку файл может бытьпроверяется только после того, как данные формы уже проверены. Мне нужны два отдельных класса запросов.
Я надеюсь, что кто-то может помочь мне с этим.