I have a form where a user can submit an image. I don't want to store it on my server in case it's a virus but instead store it to Amazon S3.
My issue is that I need to validate if the image is less than a specific dimension. How can I do that in Laravel 5.4?
My controller
$validator = \Validator::make($request->all(),[
"logo" => "dimensions:max_width:300,max_height:200",
]);
if($validator->fails()){
return \Redirect::back()->withInput()->withErrors( $validator );
}
The validation fails and redirects back with "The logo has invalid image dimensions." eventhough the image i'm uploading is 100x100. What's the correct way to validate or what are alternate solutions without having to save the file?
use equals sign (=) rather than colon (:) with max_width
& max_height
:
"logo" => "dimensions:max_width=300,max_height=200",
Image dimension validation rules in Laravel
If it doesn't solve, make sure that your form has enctype="multipart/form-data"
(as mentioned in comment by @F.Igor):
<form method="POST" enctype="multipart/form-data">
<input type="file" name="logo">
<input type="submit">
</form>
If you already using this, then check (before validation) whether you are getting image with your request and with what name:
dd($request->all())
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With