PHP Laravel 5.6 Simple Validation example with error message

February 16, 2018 | Category : Laravel 5.6 Laravel 5 Laravel PHP

In this tutorial, I will let you know how to implement simple form validation example with print error messages in laravel 5.6 application. I will show you simple example of form validation with custom error messages.

As we all know website is always depend on user input, So it's required to add validation for that otherwise client or user does not input wrong details or something, So for example if you want to get email, phone number or any minimum character, then it must be validate because otherwise user will wrong value. It is necessary to add validation for that.

In this article I added required, min, email and unique validation with users table there are several validation available in laravel documentation. Here in this example you I will teach you how to use validation in laravel 5.6 validation.

So, just simply follow below step and see how it works...

Route For GET and POST Request:

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

web.php

Route::get('user/create', 'HomeController@create');

Route::post('user/create', 'HomeController@store');

Add Method on HomeController:

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.

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()

{

$input = 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.');

}

}

Create View 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:

createUser.blade.php

<!DOCTYPE html>

<html>

<head>

<title>Laravel 5.6 form validation example</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">

<h1>Laravel 5.6 form validation 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="{{ url('user/create') }}">

{{ csrf_field() }}

<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>

Now we can run and check full example.

i am sure it helps you...