Laravel 8 Image Upload Validation

In this article, we will see how to validate laravel 8 image upload validation. In image upload validation you can add validation using the validate() function of laravel and also you can add multiple image uploads with validation in laravel 8. In laravel 8 many validations are available for image validation, form validation, URL validation, string validation, and much more.

In laravel 8, you can validate an image using the file under validation must be an image (jpg, jpeg, png, bmp, gif, svg, or webp). Also, you can required image validation, size of the image, dimension of the image, etc.

Read More Official Document: Laravel 8 Validation.

So, Let's, see how to validate the image in laravel 8 and how to validate multiple image uploads in laravel.

public function imageValidation(Request $request)
{
    $request->validate([
        'image' => 'required|image|mimes:jpg,png,jpeg|max:2048|dimensions:min_width=100,min_height=100,max_width=500,max_height=500',
    ]);
}

 

 

Now, we will see an example of a laravel 8 image upload with validation. So, first, you need to add routes to the web.php file.

 routes/web.php

Route::get('image','ImageController@image');

Route::post('image-store','ImageController@imageStore')->name('image.store');

 

app/Http/controllers/ImageController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class ImageController extends Controller
{
    public function image()
    {
        return view('image');
    }

    public function imageStore(Request $request)
    {
        $request->validate([
            'image' => 'required|image|mimes:jpg,png,jpeg|max:2048',
        ]);
        return redirect()->back();
    }
}

 

 

resources/views/image.blade.php

<!DOCTYPE html>
<html>
<head>
    <title>Laravel 8 Image Upload Validation - Techsolutionstuff</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha256-L/W5Wfqfa0sdBNIKN9cG6QA5F2qx4qICmU2VgLruv9Y=" crossorigin="anonymous" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha256-WqU1JavFxSAMcLP2WIOI+GB2zWmShMI82mTpLDcqFUg=" crossorigin="anonymous"></script>
</head>
<body>
    <div class="container">
        <div class="row">
            <div class="col-md-6 offset-3">
                <div class="card mt-5">
                    <div class="card-header bg-dark">
                        <h3 class="text-white text-center"><strong>Laravel 8 Image Upload Validation - Techsolutionstuff</strong></h3>
                    </div>
                    <div class="card-body">
                        @if(count($errors) > 0)
                            @foreach($errors->all() as $error)
                                <div class="alert alert-danger">{{ $error }}</div>
                            @endforeach
                        @endif
                        <form action="{{ route('image.store') }}" method="post" enctype="multipart/form-data">
                            @csrf
                            <div class="form-group">
                                <label><b>Image :</b></label>
                                <input type="file" name="image" value="{{ old('image') }}">
                            </div>
                            <div class="form-group text-center">
                                <button class="btn btn-dark" type="submit">Save</button>
                            </div>
                        </form>		
                    </div>
                </div>		
            </div>
        </div>
    </div>
</body>
</html>

 


You might also like:

techsolutionstuff

Techsolutionstuff | The Complete Guide

I'm a software engineer and the founder of techsolutionstuff.com. Hailing from India, I craft articles, tutorials, tricks, and tips to aid developers. Explore Laravel, PHP, MySQL, jQuery, Bootstrap, Node.js, Vue.js, and AngularJS in our tech stack.

RECOMMENDED POSTS

FEATURE POSTS