Cara Membuat Form Validasi pada Laravel Terbaru

Share:

Cara Membuat Form Validasi pada Laravel Terbaru. Halo teman-teman, kembali lagi di sahretech. Kali ini kita akan membahas form validasi yang ada di laravel. Form validasi ini dapat diterapkan ke laravel versi 7 dan 6. Adapun versi laravel yang akan kita gunakan adalah laravel versi 7. Cara penggunaanya cukup sederhana, asal kalian sudah memahami dasar-dasar laravel. Ayo ikuti tutorialnya di bawah ini!.


Di dalam tutorial ini, kita akan menggunakan controller, routing, dan satu buah file blade yang berisi form yang akan dikirim ke controller. Tidak ada pembahasan tentang migration, database, dan CRUD. Hal ini saya maksudkan agar artikel menjadi lebih ringkas dan langsung ke pembahasan intinya. Maka dari itu, pemahaman dasar tentang laravel sangat dibutuhkan pada artikel ini.

Sebelum kita masuk ke pembahasan inti, persiapkan laravel kalian masing-masing, untuk cara install laravel dapat kalian kunjungi artikel berikut ini https://www.sahretech.com/2019/10/cara-install-laravel-di-localhost-server.html Untuk nama project dan lokasi projectnya bebas kalian tentukan sendiri.

1. Mari Mendefinisikan Route

Hal pertama yang akan kita kerjakan pada tutorial kali ini adalah membuat routing. Kalian buka file web.php di dalam folder routes lalu tulis code yang ada di bawah ini.

route web.php -sahretech
File web.php


Ada 2 buah route yang kita buat, pertama kita buat sebuah route yang mengarah ke PostController dengan fungsi create yang akan mengarah ke halaman form input. Lalu kita membuat route yang mengarah ke PostController dengan fungsi store untuk memparsing data yang kita input pada form input sebelumnya.


2. Membuat Controller dan Logika Validasi

Jalankan perintah   php artisan make:controller PostController  pada command line kalian. Lalu setelah sebuah PostController.php berhasil dibuat di dalam folder app/http/controller lalu modifikasi isi fungsi create pada  public function create() { ..... }  dan juga modifikasi fungsi store pada  public function store(Request $request){ ..... }  seperti di bawah ini:

public function create()
{
     //akan menuju ke halaman form input
     return view('createpost');
}


public function store(Request $request)
{
     //membuat validasi title dengan syarat harus diisi
     //membuat validasi body dengan syarat harus diisi dan panjang maksimal 255
     $validatedData = $request->validate([
          'title' => 'required',
          'body' => 'required|max:255',
     ]);

     //menampilkan variabel dengan menggunakan echo
     //$request digunakan untuk menangkap data dari form
     echo $request->title;
     echo "<br>";
     echo $request->body;
}
  

Saat fungsi create dijalankan, maka fungsi ini akan menampilkan halaman form input. Lalu saat fungsi store dijalankan, maka dia akan mengecek data yang diinputkan oleh user. Jika gagal maka akan dikembalikan ke halaman sebelumnya dengan tampilan error yang akan kita buat pada langkah selanjutnya. Tapi jika data benar maka akan ditampilkan dengan perintah echo.



3. Buat File Blade untuk menampilkan Form Input

Buka folder resource/views lalu buat file baru dengan nama createpost.blade.php. Lalu masukkan kodenya seperti di bawah ini. 

{{-- cdn bootstrap  --}}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" 
integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z" crossorigin="anonymous">


<br><br>
<div class="container jumbotron">
    {{-- data dikirmkan ke route post/store dan akan diproses oleh fungsi store yang ada pada PostController --}}
    {{-- old digunakan untuk mengembalikan data yang diinputkan, jika terjadi error saat validasi --}}
    {{-- @error('titel') @enderror digunakan untuk menampilkan data sesai errornya dengan menggunakan message  --}}
    <form action="{{url('post/store')}}" method="post">
        @csrf
        <div class="form-group">
            <label for="email">Title</label>
                <input type="text" class="form-control" name="title" value="{{@old('title')}}">
            <br>
            @error('title')
                <div class="alert alert-danger">{{ $message }}</div>
            @enderror
        </div>
        <div class="form-group">
            <label for="alamat">Content</label>
                <textarea class="form-control" name="body" rows="5">{{@old('body')}}</textarea>
            <br>
            @error('body')
                <div class="alert alert-danger">{{ $message }}</div>
            @enderror
        </div>
        <div class="form-group">
            <button type="submit" class="btn btn-md btn-primary">Submit</button>
        </div>
    </form>
</div>

tanda  @error  untuk menampilkan pesan error yang ada di bawahnya. Selain itu kita dapat mengisi data yang telah kita isi sebelumnya tanpa harus mengetik ulang di setiap form dengan tanda  value="{{@old('title')}}"  

Setelah semua tahap di atas dikerjakan, selanjutnya kita jalankan project laravel yang kita buat ketik php artisan serve di command line kalian. Buka, browser lalu ketik http://127.0.0.1:8000/post/create  Maka hasilnya akan tampil seperti gambar di bawah ini.

validasi form laravel -sahretech
Validasi Form pada Laravel



Lebih Lanjut Tentang Validasi

Baiklah, tahapan di atas adalah tahapan sederhana untuk mengaplikasikan error validation pada laravel. Untuk kebutuhan yang lebih kompleks lagi, kalian bisa membacanya di situs resmi laravel berikut ini. https://laravel.com/docs/7.x/validation

Ada banyak versi untuk validasi yang akan kita gunakan, mulai dari versi 4 hingga versi terbaru. Di dalam artikel itu juga kalian bisa membuat macam-macam error message berdasarkan tipe datanya, atau error message yang dapat kalian tentukan sendiri kalimatnya.

Ok, sekian tutorial Cara Membuat Form Validasi pada Laravel Terbaru, kurang lebihnya saya mohon maaf, jika masih ada pembahasan yang sulit dipahami silahkan tinggalkan komentar kalian di bawah ini. Sampai jumpa di tutorial keren lainnya. Happy Coding.


No comments