[5.3] Handle validating failed file uploads #15166
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR is an attempt to deal with these issues: #8203, #4467, #4226 and many other duplicates.
The problem:
When uploading files greater than
upload_max_filesize
all validation rules related to file validation fails due to the file being invalid. Also a required validation rule will return false so the user will get "The file is required" even though he did attach a file to the form.The suggested solution:
While validating each rule we check if the value is a file that failed to upload
isValid()===false
and that a rule that imply the field is required or is a file was being used. If that's the case we cause the validation to fail with a messagefile_uploaded
, this message will have a translation line in the language files and the output will beThe image uploading failed.
.This behaviour will indicate a generic upload failure instead of showing a validation error that's not related to the actual problem.