How to use form validation in Laravel 6

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', 'HomeController@create');
Route::post('user/create', 'HomeController@store');

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


#laravel #php #web-development

How to use form validation in Laravel 6
62.80 GEEK