Site Admin
Site Admin Founder of MeaningArticles
1269 Views

Laravel 8 Custom Validation Error Messages

Hello Dev.

Laravel 8 custom validation rules and error messages. on this articles, we are able to display you how to add custom validation rules and show custom validation error messages in laravel 8 application.

if you need to change the default validation rules and validation errors message in laravel 8 application.

So This laravel eight custom validation error message and rules example will learn you little by little on how to add custom validation rules and show custom validation error messages on laravel 8 application.

Step 1: Install Laravel 8

first of all we want to get clean and new Laravel eight version application the use of bellow command, now open your terminal OR command prompt and then fire bellow command and run it:

composer create-project --prefer-dist laravel/laravel Blog

 

Step 2: Configuration of Database

second step, we configure database like database name, username, password etc for application of laravel 8. let's open .env file and fill complete details equal as bellow:
.env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=here your database name(blog)
DB_USERNAME=here database username(root)
DB_PASSWORD=here database password(root)

 

Step 3: Create Migration

In this step, execute the following command on terminal to create tables into database This command will create some tables into your database

php artisan migrate

 

Step 4: Add Routes

In this step, Open your routes/web.php and add the following routes into your routes/web.php file:
routes/web.php

use App\Http\Controllers\CustomErrorController;
 
Route::get('form', [CustomErrorController::class, 'index']);
Route::get('store', [CustomErrorController::class, 'store']);

 

Step 5: Add  Controller

In this step, execute the following command on terminal to create custom error message controller in laravel 8 app:

php artisan make:controller CustomErrorController

After that, Go to app/Http/Controllers/CustomErrorController.php and update the following code into your controller file:
CustomErrorController.php

namespace App\Http\Controllers;
   
use Illuminate\Http\Request;
use App\Models\User;
   
class CustomErrorController extends Controller
{
    public function create()
    {
        return view('form');
    }
   
    public function store(Request $request)
    {
        $request->validate(
            [
                'name' => 'required',
                'password' => 'required|min:5',
                'email' => 'required|email|unique:users'
            ], 
            [
                'name.required' => 'Name is required',
                'password.required' => 'Password is required'
            ]
          );
    
        $input = $request->all();
        $input['password'] = bcrypt($input['password']);
        $user = User::create($input);
     
        return back()->with('success', 'User created successfully.');
    }
}


Step 6: Create Blade View

In this step, Go to resources/views folder and create one blade view file name from.blade.php and update the following code into your file:

from.blade.php

<!DOCTYPE html>
<html>

<head>
    <title>Laravel 8 Custom Validation Error Message Example Tutorial - meaningarticles.com</title>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
</head>

<body>
    <div class="container">
   
        <h1>Laravel 8 Custom Validation Error Message Example - meaningarticles.com</h1>
    
        @if(Session::has('success'))
        <div class="alert alert-success">
            {{ Session::get('success') }}
            @php
                Session::forget('success');
            @endphp
        </div>
        @endif
    
        <form method="POST" action="{{ route('store') }}">
   
            @csrf
   
            <div class="form-group">
                <label>Name:</label>
                <input type="text" name="name" class="form-control" placeholder="Name">
                @if ($errors->has('name'))
                    <span class="text-danger">{{ $errors->first('name') }}</span>
                @endif
            </div>
    
            <div class="form-group">
                <label>Password:</label>
                <input type="password" name="password" class="form-control" placeholder="Password">
                @if ($errors->has('password'))
                    <span class="text-danger">{{ $errors->first('password') }}</span>
                @endif
            </div>
     
            <div class="form-group">
                <strong>Email:</strong>
                <input type="text" name="email" class="form-control" placeholder="Email">
                @if ($errors->has('email'))
                    <span class="text-danger">{{ $errors->first('email') }}</span>
                @endif
            </div>
    
            <div class="form-group">
                <button class="btn btn-success btn-submit">Submit</button>
            </div>
        </form>
    </div>
</body>

</html>

 

Step 7: Run Development Server

In this step, Execute the PHP artisan serve command on terminal to start server local:

php artisan serve

If you want to run the project diffrent port so use this below command 

php artisan serve --port=8080

Then open your browser and hit the following url on it:

http://localhost:8000/form 

i'm hoping it assist you to, thanks for visit my article if you like my article then proportion together with your friend and social platform.