Laravel 5.5 validation example with custom message

August 27, 2017 | Category : Laravel 5.5 Laravel 5 Bootstrap Laravel PHP

Now days laravel 5.5 released for dev version and they release laravel 5.5 official documentation. So in this article i will show you how to add form validation in laravel 5.5 validation.

As we know website is always depend on user input, So it's require 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 tech you how to use validation in laravel 5.5 validation.

So, just simply follow bellow 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.5 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.5 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.5 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...