How to use form validation in Laravel 6

How to use form validation in Laravel 6

In this tutorial, I will explain you how to use form validation in Laravel 6. We will use Laravel 6 form validation with display error messages on view file. We can use Laravel default validation rules like required, email, unique, numeric, date, ip, in_array, it, ite, max, min, image, mimes etc.

Originally published at https://itsolutionstuff.com

You can also define custom error messages in Laravel 6 form validation. we will display error message with each field. we will use has() for checking is error message in Laravel 6.

Here, i am going to show you very simple example of form validation so, you can simply use in your Laravel 6 project.

Step 1:Create Routes:

Here we are learning simple and easy example of validation in Laravel 6 so just add following both route in your web.php file.

routes/web.php

Route::get('user/create', '[email protected]');
Route::post('user/create', '[email protected]');

Create Controller:

Now we will add two controller method, one will just display blade file with get request, and another for post request, i write validation for that, so simply add both following method on it.

app/Http/Controllers/HomeController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request; use App\User;

class HomeController extends Controller { /** * Show the application dashboard. * * @return \Illuminate\Http\Response */ public function create() { return view('createUser'); }

/**
 * Show the application dashboard.
 *
 * @return \Illuminate\Http\Response
 */
public function store(Request $request)
{
    $request-&gt;validate([
            'name' =&gt; 'required',
            'password' =&gt; 'required|min:5',
            'email' =&gt; 'required|email|unique:users'
        ], [
            'name.required' =&gt; 'Name is required',
            'password.required' =&gt; 'Password is required'
        ]);

    $input = $request-&gt;all();
    $input['password'] = bcrypt($input['password']);
    $user = User::create($input);

    return back()-&gt;with('success', 'User created successfully.');
}

}

Create Blade File:

now here we will create createUser.blade.php file and here we will create bootstrap simple form with error validation message. So, let's create following file:

resources/views/createUser.blade.php

Read Also: Laravel 6 Ajax Autocomplete Search from Database

<!DOCTYPE html>
<html>
<head>
    <title>Laravel 6 form validation example - ItSolutionStuff.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 href="//netdna.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
    <div class="container">

    &lt;h1&gt;Laravel 6 form validation example&lt;/h1&gt;

    @if(Session::has('success'))
    &lt;div class="alert alert-success"&gt;
        {{ Session::get('success') }}
        @php
            Session::forget('success');
        @endphp
    &lt;/div&gt;
    @endif

    &lt;form method="POST" action="{{ url('user/create') }}"&gt;

        {{ csrf_field() }}

        &lt;div class="form-group"&gt;
            &lt;label&gt;Name:&lt;/label&gt;
            &lt;input type="text" name="name" class="form-control" placeholder="Name"&gt;
            @if ($errors-&gt;has('name'))
                &lt;span class="text-danger"&gt;{{ $errors-&gt;first('name') }}&lt;/span&gt;
            @endif
        &lt;/div&gt;

        &lt;div class="form-group"&gt;
            &lt;label&gt;Password:&lt;/label&gt;
            &lt;input type="password" name="password" class="form-control" placeholder="Password"&gt;
            @if ($errors-&gt;has('password'))
                &lt;span class="text-danger"&gt;{{ $errors-&gt;first('password') }}&lt;/span&gt;
            @endif
        &lt;/div&gt;

        &lt;div class="form-group"&gt;
            &lt;strong&gt;Email:&lt;/strong&gt;
            &lt;input type="text" name="email" class="form-control" placeholder="Email"&gt;
            @if ($errors-&gt;has('email'))
                &lt;span class="text-danger"&gt;{{ $errors-&gt;first('email') }}&lt;/span&gt;
            @endif
        &lt;/div&gt;

        &lt;div class="form-group"&gt;
            &lt;button class="btn btn-success btn-submit"&gt;Submit&lt;/button&gt;
        &lt;/div&gt;
    &lt;/form&gt;
&lt;/div&gt;

</body> </html>

Now we can run and check full example.

I hope it can help you...

Thanks for reading

If you liked this post, share it with all of your programming buddies!

Follow me on Facebook | Twitter

Further reading

Laravel 5.8 Tutorial for Beginners

Upgrading Laravel To 6.0 From 5.8

Laravel 6 Release New Features and Upgrade

What’s New in Laravel 6.0

Laravel 6 CRUD Application Tutorial

Laravel 6 Image Upload Tutorial

How to Create Ajax Autocomplete Search from Database in Laravel 6


Angular 9 Tutorial: Learn to Build a CRUD Angular App Quickly

What's new in Bootstrap 5 and when Bootstrap 5 release date?

Brave, Chrome, Firefox, Opera or Edge: Which is Better and Faster?

How to Build Progressive Web Apps (PWA) using Angular 9

What is new features in Javascript ES2020 ECMAScript 2020

PHP Web Application Development Company

As a top **PHP Web Application Development Company in USA**[https://www.dataeximit.com/php-development-services/](https://www.dataeximit.com/php-development-services/ "https://www.dataeximit.com/php-development-services/"), we at Data EximIT have...

Advantages of Hiring PHP Developer for your Website Project

PHP - Hypertext pre-processor, a scripting language used by many people in developing web pages, but most of us are unaware even of the full form. To train someone and make them learn this whole language is as difficult and time-consuming as it is...

Hire PHP Developer and Web Developer for your Online Business

PHP is widely used open-source scripting language it helps in making dynamically easy your websites and web application. Mobiweb Technology is your best technical partner and offering you solution for any kind of website and application...