Validasi, Create, Update dan Delete data pada Laravel 10 #7

Selanjutnya tambahkan validasi saat ingin input data, yaitu dengan cara menambahkan code berikut di masing-masing inputan yang kita inginkan.

required

sehingga jika form tidak ada inputan akan menampilkan sebuah peringatan seperti contoh dibawah ini :

Selanjutnya kita akan menambahkan sebuah rute baru untuk memberikan perintah simpan didalam controller :

Route::get('/store', [StudentsController::class, 'store'])->name('store');

Penjelasan

Route::get('/store', [StudentsController::class, 'store'])->name('store');

  • Route::get('/store', ...) : Ini mengatur bahwa ketika pengguna mengunjungi alamat web ‘/store’ dengan metode HTTP GET, Laravel akan melakukan respons tertentu. Metode HTTP GET biasanya digunakan untuk membaca resource dari server.
  • [StudentsController::class, 'store'] : Ini adalah array yang menunjukkan metode yang harus dipanggil ketika pengguna mengunjungi rute tersebut. Dalam hal ini, metode yang dipanggil adalah metode ‘store’ dalam class StudentsController. Class ini biasanya didefinisikan dalam file tersendiri, dan metode store diharapkan untuk menyimpan data ke database.
  • ->name('store') : Ini memberikan alias atau nama untuk rute tersebut. Nama rute ini bisa digunakan ketika mengarahkan pengguna ke endpoint ini dari mana saja di dalam aplikasi Anda. Dalam hal ini, ‘store’ adalah nama yang diberikan.

Jadi, secara keseluruhan, baris kode ini mengarahkan permintaan HTTP GET ke ‘/store’ ke metode store di StudentsController dan menamai rute tersebut ‘store’. 

Selanjutnya pada StudentsController tambahkan code berikut :

    public function store(Request $request)
    {
        $students = new Students();
        $students->idstudents = $request->txtid;
        $students->fullname = $request->txtfullname;
        $students->gender = $request->txtgender;
        $students->emailaddress = $request->txtemail;
        $students->phone = $request->txtphone;
        $students->address = $request->txtaddress;
        $students->save();

        return redirect('students')->with('msg', 'Add New Student Successfully');
    }

Penjelasan :

Ini adalah fungsi store yang bertugas untuk menyimpan data baru ke dalam database. Fungsi ini menerima parameter $request, yang berisi informasi yang dikirim melalui form.

$students = new Students(); berarti kita membuat instance baru dari model Students.

Kemudian, $request->txtid$request->txtfullname$request->txtgender, dan seterusnya merupakan cara Laravel mengambil data dari form. Misalnya, $request->txtid akan mengambil data dari field form dengan nama txtid.

Berikutnya, $students->idstudents = $request->txtid; dan baris kode selanjutnya berarti kita menetapkan atribut atau kolom di dalam model Students dengan data dari form.

$students->save(); berarti kita simpan data ke dalam database.

Akhirnya, return redirect('students')->with('msg', 'Add New Student Successfully'); adalah kode yang akan mengarahkan pengguna kembali ke halaman ‘students’ dan mengirim sebuah pesan ‘Add New Student Successfully’ yang dapat ditampilkan di halaman tersebut.

Lalu selanjutnya supaya pesan yang dikirimkan ketika data berhasil disimpan akan kita tampilkan pada halaman Students, tambahkan code berikut tepat diatas tabel :

@if (session('msg'))
   <div class="alert alert-success alert-dismissible fade show" role="alert">
        <strong>Success!!!</strong> {{ session('msg') }}
        <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
   </div>
@endif

Penjelasan

@if (session('msg')) berarti “jika ada sesuatu dalam session dengan key ‘msg'”. Sesi adalah cara menyimpan informasi yang akan digunakan di lain waktu. Biasanya digunakan untuk menyimpan pesan flash atau status otentikasi pengguna.

Dalam kode di atas, {{ session('msg') }} akan mencetak pesan yang disimpan dalam session.

<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button> ini adalah tombol ‘close’ yang bisa menghapus pesan peringatan ketika diklik.

@endif adalah penutup dari @if. Jadi seluruh blok kode ini hanya akan dijalankan jika ada sesuatu dalam session dengan key ‘msg’.

Jika langkah diatas dilakukan dengan benar maka data baru akan tersimpan ke dalam database, dan hasilnya seperti berikut :

Share your love