Laravel 10 Custom Validation Error Messages Tutorial


Laravel 10 custom validation rules and error messages. In this tutorial, we will show you how to add custom validation rules and display custom validation error messages in Laravel 10 app.

If you want to change the default validation rules and validation error message in Laravel 10 app.

So This Laravel 10 custom validation error message and rules tutorial will guide you step by step on how to add custom validation rules and display custom validation error messages on Laravel 10 app.

Custom Validation Error Messages In Laravel

  • Step 1 – Install Laravel 10 App
  • Step 2 – Connecting App to Database
  • Step 3 – Run Migration Command
  • Step 4 – Add Routes
  • Step 5 – Generate Controller By Command
  • Step 6 – Create the blade view
  • Step 7 – Run Development Server

Step 1 – Install Laravel 10 App

First of all, start your terminal to download or install Laravel 10 new setup. Run the following commands in it to install the new Laravel 10 app on your system:

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

This command will install fresh new laravel setup in provided location. After that, open your laravel web application in any text editor and Go to your application .env file and set up database credentials and move next step.

Step 2 – Connecting App to Database

In this step, Configure your database with your apps. So, visit your app root directory and find .env file. Then configure database details as follows:

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

Step 3 – Run Migration Command

In this step, execute the following command on terminal to create tables into database:

php artisan migrate

This command will create some tables into your database.

Step 4 – Add Routes

In this step, Open your routes/web.php and update 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 – Generate Controller By Command

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:

app/Http/Controllers/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:

<!DOCTYPE html>
<html>
<head>
    <title>Laravel 10 Custom Validation Error Message Example Tutorial -Tutsmake.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 10 Custom Validation Error Message Example</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 locally:

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

Recommended Laravel Posts

Jaspreet Singh Ghuman

Jaspreet Singh Ghuman

Jassweb.com/

Passionate Professional Blogger, Freelancer, WordPress Enthusiast, Digital Marketer, Web Developer, Server Operator, Networking Expert. Empowering online presence with diverse skills.

jassweb logo

Jassweb always keeps its services up-to-date with the latest trends in the market, providing its customers all over the world with high-end and easily extensible internet, intranet, and extranet products.

Contact
San Vito Al Tagliamento 33078
Pordenone Italy
Item added to cart.
0 items - 0.00
Open chat
Scan the code
Hello 👋
Can we help you?