Laravel Membuat Form dengan Validation

SHARE :

Tutorial contoh validasi form Laravel. Di sini, kami akan menunjukkan cara memvalidasi data formulir di aplikasi laravel.

Dalam tutorial ini, kita akan membuat form detail karyawan dan submit data form di controller. Dan memvalidasi data formulir sebelum insert/save ke database.

Langkah 1 – Unduh Aplikasi Laravel

Pertama-tama unduh atau instal pengaturan baru laravel. Jadi, buka terminal dan ketik perintah berikut untuk menginstal aplikasi laravel baru ke mesin Anda :

composer create-project --prefer-dist laravel/laravel FormValidation

Langkah 2 – Siapkan Database dengan Aplikasi

Pada langkah ini, atur database dengan aplikasi laravel  yang telah diunduh/diinstal. Jadi, Anda perlu mencari file .env dan mengatur detail database sebagai berikut:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=database-name
DB_USERNAME=database-user-name
DB_PASSWORD=database-password

Langkah 3 – Buat Model & Migrasi

Pada langkah ini, buka lagi command prompt Anda. Dan jalankan perintah berikut di atasnya. Untuk membuat file model dan migrasi untuk formulir:

php artisan make:model Employee -m

Setelah itu, buka file create_employees_table.php di dalam direktori FormValidation/database/migrations/. Dan perbarui fungsi up() dengan kode berikut:

public function up()
{
    Schema::create('employees', function (Blueprint $table) {
        $table->id();
        $table->string('name');
        $table->string('email');
        $table->string('contact_no');
        $table->string('age');
        $table->timestamps();
    });
}

Kemudian, buka lagi command prompt dan jalankan perintah berikut untuk membuat tabel ke dalam database:

php artisan migrate

Langkah 4 – Buat Rute Formulir

Pada langkah ini, buka file web.php dari direktori route. Dan perbarui rute berikut ke dalam file web.php :

use App\Http\Controllers\FormController;
 
Route::get('form', [FormController::class, 'index']);
Route::post('store-form', [FormController::class, 'store']);

Langkah 5 – Buat Pengontrol Formulir Dengan Artisan Command

Pada langkah ini, jalankan perintah berikut pada prompt perintah untuk membuat file Controller :

php artisan make:controller FormController

Setelah itu, buka app/http/controllers dan buka file FormController.php. Dan perbarui kode berikut ke dalamnya:

<?php
 
namespace App\Http\Controllers;
 
use Illuminate\Http\Request;
use App\Models\Employee;
 
 
class FormController extends Controller
{
    public function index()
    {
        return view('form');
    }
 
    public function store(Request $request)
    {
         
        $validatedData = $request->validate([
          'name' => 'required',
          'email' => 'required|unique:employees|max:255',
          'age' => 'required',
          'contact_no' => 'required|unique:employees|max:255',
        ]);
 
        $emp = new Employee;
 
        $emp->name = $request->name;
        $emp->email = $request->email;
        $emp->age = $request->age;
        $emp->contact_no = $request->contact_no;
 
        $emp->save();
 
        return redirect('form')->with('status', 'Form Data Has Been validated and insert');
 
    }
}

Langkah 6 – Buat File Blade Formulir

Sekarang, buat file tampilan bilah formulir untuk menampilkan formulir dan kirim ke database. Jadi, Buka sumber resources/views dan buat form.blade.php dan perbarui kode berikut ke dalamnya:

<!DOCTYPE html>
<html>
<head>
<title>Laravel Example Form Validation OOKINFO</title>
<meta name="csrf-token" content="{{ csrf_token() }}">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
</head>
<body>
<div class="container mt-4">
@if(session('status'))
<div class="alert alert-success">
{{ session('status') }}
</div>
@endif
<div class="card">
<div class="card-header text-center font-weight-bold">
<h2>Laravel Form Validation Tutorial OOKINFO.COM</h2>
</div>
<div class="card-body">
<form name="employee" id="employee" method="post" action="{{url('store-form')}}">
@csrf
<div class="form-group">
<label for="exampleInputEmail1">Name</label>
<input type="text" id="name" name="name" class="@error('name') is-invalid @enderror form-control">
@error('name')
<div class="alert alert-danger mt-1 mb-1">{{ $message }}</div>
@enderror
</div>        
<div class="form-group">
<label for="exampleInputEmail1">Email</label>
<input type="email" id="email" name="email" class="@error('email') is-invalid @enderror form-control">
@error('email')
<div class="alert alert-danger mt-1 mb-1">{{ $message }}</div>
@enderror
</div>        
<div class="form-group">
<label for="exampleInputEmail1">Age</label>
<input type="number" id="age" name="age" class="@error('age') is-invalid @enderror form-control">
@error('age')
<div class="alert alert-danger mt-1 mb-1">{{ $message }}</div>
@enderror
</div>        
<div class="form-group">
<label for="exampleInputEmail1">Contact No</label>
<input type="number" id="contact_no" name="contact_no" class="@error('contact_no') is-invalid @enderror form-control">
@error('contact_no')
<div class="alert alert-danger mt-1 mb-1">{{ $message }}</div>
@enderror
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
</div>
</div>
</div>  
</body>
</html>

Kode di bawah ini akan menampilkan pesan kesalahan validasi pada file tampilan blade:

@error('name')
<div class="alert alert-danger mt-1 mb-1">{{ $message }}</div>
@enderror

Langkah 7 – Jalankan Server Pengembangan

Langkah terakhir, buka command prompt dan jalankan perintah berikut untuk memulai server pengembangan:

php artisan serve

Kemudian buka browser Anda dan tekan url berikut di atasnya:

http://127.0.0.1:8000/form

 

OOKINFO

Jasa pembuatan Aplikasi Mobile dan Web. Siap memberikan solusi digital untuk bisnis anda. Tugas Kuliah, Organisasi, Perusahaan, E-Commerce.