Validasi Form Pada Laravel

Update Terakhir pada

Pada artikel kali ini, kita akan belajar cara membuat validasi form dengan pesan error di aplikasi Laravel. Validasi form adalah persyaratan utama dari setiap projek. Laravel menyediakan cara yang sederhana untuk menggunakan validasi formulir seperti password, email, angka, array, file, tipe mime dll.

Membuat Routes

routes/web.php

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

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

HomeController

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

    }

}

Blade File

resources/views/createUser.blade.php

<!DOCTYPE html>

<html>

<head>

    <title>Laravel 5.7 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.7 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>