Framewok Laravel

Halo semua,
kembali lagi di SekolahQue kali ini kita masih membahas mengenai framework laravel.


Langsung saja kita ke Codinganya...


  • Buka file resources/views/belajar.blade.php, tambahkan link menuju form add.


URL digunakan untuk menciptakan URL menuju url tertentu. URL yang diciptakan akan ditambahkan base_url dari project anda.

  • Buka file routes/web.php, tambahkan route create

Perintah /siswa/create adalah untuk mengarahkan ke function create pada SiswaController. Dan jangan lupa untuk merubah route /belajar menjadi /siswa seperti diatas.


  • Buka file app/Http/Controllers/SiswaController.php

Fungsinya adalah menampilkan view dengan nama form yang terdapat pada folder siswa.


  • Buat file resources/views/siswa/form.blade.php


  • ·         csrf_token()

Digunakan untuk membuat csrf token.
  • ·         csrf_field()

Digunakan untuk membuat input hidden _token beserta token nya.
<input type=“hidden” name=“_token” value=“xxxxxxxxx”
  • ·         @csrf


Fitur dari blade, sama dengan csrf_field, namun tidak perlu menggunakan bracket ( {{ }} ) untuk menampilkannya di HTML. Setiap request yang memiliki method selain GET (POST, PUT, PATCH, DELETE), syntax diatas wajib digunakan didalam form sebagai fungsi keamanan dari serangan CSRFCSRF (Cross-Site Request Forgery) merupakan bentuk eksploitasi website yang dieksekusi atas wewenang korban, tanpa dikehendakinya. CSRF menipu web site melalui request dari user yang dipercaya. Serangan bekerja melalui link atau script pada halaman site yang diakses user.



  • Displaying user's old value

Ketika form tidak lengkap atau tidak sesuai dengan rules, seharusnya form yang sudah diisi oleh user yang sebelumnya harus tetap muncul.
Bentuk umum untuk menampilkan value yang user input:
<input ……………… value=“{{ old(‘nama_field’) }}” />

  • Buka file routes/web.php, tambahkan route post

Perintah route post tersebut akan mengarahkan route /siswa dengan method request post ke function store pada Controller SiswaController.

  • Buka file app/Http/Controllers/SiswaController.php, tambahkan fungsi store


Baris diatas digunakan untuk menangkap seluruh request yang dikirim dari view form

Baris diatas digunakan untuk menghapus data dengan key _token pada array asosiatif $input karena data tersebut tidak ada didalam tabel (tidak akan di-insert)

Melakukan insert data ke tabel t_siswa dimana datanya berasal dari array $input



Baris diatas memeriksa apakah input data berhasil atau tidak.
Jika berhasil maka arahkan tampilan kembali ke alamat /siswa (Menampilkan Tabel Data Siswa) dengan membawa session success dengan pesan ‘Data berhasil ditambahkan

Jika gagal maka arahkan tampilan kembali ke alamat /siswa/create (Menampilkan kembali form input data siswa) dengan membawa session error dengan pesan ‘Data gagal ditambahkan’.

  • Success or error messages (Buka file resources/views/belajar.blade.php)


- @if
Digunakan untuk menampilkan suatu bagian pada HTML ketika kondisi pada PHP terpenuhi
@if(session(‘success’))
Pada contoh diatas, tampilkan div dengan class success jika session(‘success’) tidak kosong. Div tersebut berisikan data/pesan yang ada pada session(‘success’) tersebut

Perhatikan penempatan blok @endif


Setelah berhasil menambahkan data, akan diarahkan ke tampilan ini dengan menampilkan pesan Data Berhasil Ditambahkan.
  • Validation Input
Untuk melakukan validasi input agar sesuai dengan yang diharapkan, Laravel sudah menyediakan fiturnya yaitu dengan menggunakan Facades Validator atau function validate.




Akan menampilkan error jika terdapat form yang belum diisi sesuai dengan yang ada pada rule.

Cara menulis rule adalah dengan membuat array asosiatif yang didalamnya berisi key yang berupa nama field yang ada pada form dan value yang berisi string valiadasinya.
  • Validasi lebih dari 2 rule & validasi berparameter

Jika terdapat lebih dari 2 validasi, gunakan simbol |

Jika string validasi memerlukan parameter, gunakan simbol titik dua :
Contoh Array Asosiatif untuk Validasi NIS:
nis’ => ‘max:10’
Artinya: Validasi NIS hanya boleh memiliki panjang maksimal 10 karakter.

Sama dengan if pada percobaan sebelumnya, if disini artinya menampilkan error dari validasi jika variabel $errors lebih dari 1
Variabel $errors berasal dari hasil validasi pada sintaks di Controller => $this->validate()

STUDI KASUS

#1
Buka web.php



Buka kelas.blade.php



Buka formkelas.blade.php


Buka SiswaController.php


STUDI KASUS #2
Menurut saya BUG yang terdapat pada codingan materi ini terdapat pada validasi input. Seharusnya field untuk validasi NIS ditambahkan validasi unique untuk membuat sebuah atribut unik atau tidak boleh sama.

STUDI KASUS #3
Pada Radio Button


Pada Selected option



Sekian dulu ya...
Mohon maaf apabila ada kesalahan atau terdapat yang kurang dimengerti...
Coba dirumah dan jangan takut mencoba...
#BelajarBersama

Komentar

Loading...

Postingan Populer