diff options
Diffstat (limited to 'app/Http/Requests/FileUploadRequest.php')
| -rw-r--r-- | app/Http/Requests/FileUploadRequest.php | 34 |
1 files changed, 26 insertions, 8 deletions
diff --git a/app/Http/Requests/FileUploadRequest.php b/app/Http/Requests/FileUploadRequest.php index f4302b8..6b326b3 100644 --- a/app/Http/Requests/FileUploadRequest.php +++ b/app/Http/Requests/FileUploadRequest.php @@ -4,6 +4,9 @@ namespace App\Http\Requests; use App\Rules\MimeTypeRule; use Illuminate\Foundation\Http\FormRequest; +use Illuminate\Support\Facades\Log; +use Illuminate\Contracts\Validation\Validator; +use Illuminate\Http\Exceptions\HttpResponseException; class FileUploadRequest extends FormRequest { @@ -26,12 +29,12 @@ class FileUploadRequest extends FormRequest $config = config('fileupload'); return [ - 'files' => [ + 'f' => [ 'required', 'array', 'max:' . $config['max_files_per_upload'], ], - 'files.*' => [ + 'f.*' => [ 'required', 'file', 'max:' . $config['max_file_size'], // in KB @@ -48,12 +51,27 @@ class FileUploadRequest extends FormRequest $config = config('fileupload'); return [ - 'files.required' => 'Please select at least one file to upload.', - 'files.array' => 'Invalid file upload format.', - 'files.max' => 'You can upload a maximum of ' . $config['max_files_per_upload'] . ' files at once.', - 'files.*.required' => 'One or more files are missing.', - 'files.*.file' => 'One or more uploads are not valid files.', - 'files.*.max' => 'One or more files exceed the maximum size of ' . $config['max_file_size'] . 'KB.', + 'f.required' => 'Please select at least one file to upload.', + 'f.array' => 'Invalid file upload format.', + 'f.max' => 'You can upload a maximum of ' . $config['max_files_per_upload'] . ' files at once.', + 'f.*.required' => 'One or more files are missing.', + 'f.*.file' => 'One or more uploads are not valid files.', + 'f.*.max' => 'One or more files exceed the maximum size of ' . $config['max_file_size'] . 'KB.', ]; } + + /** + * Handle a failed validation attempt. + */ + protected function failedValidation(Validator $validator) + { + Log::warning('File upload validation failed', [ + 'ip' => $this->ip(), + 'errors' => $validator->errors()->toArray(), + 'has_files' => $this->hasFile('files'), + 'all_input' => array_keys($this->all()), + ]); + + parent::failedValidation($validator); + } } |
