STUDI KASUS 1
Create Data with Database Facade
- Digunakan untuk menampilkan view dengan nama form yang terdapat pada folder kelas
@csrf
- 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 CSRF.
- CSRF (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
@input = $request->all();
- Digunakan untuk menangkap seluruh request yang dikirim dari view form.
unset($input['_token']);
- Digunakan untuk menghapus data dengan key _token pada array asosiatif $input karena data tersebut tidak ada didalam tabel (tidak akan di-insert).
$status = \DB::table('t_kelas')->insert($input);
- Untuk melakukan insert data ke tabel t_kelas dimana datanya berasal dari array $input
if ($status) {
return redirect('/kelas')->with('success', 'Data berhasil ditambahkan!');
} else {
return redirect('/kelas/create')->with('error', 'Data gagal ditambahkan!');
}
- Baris diatas memeriksa apakah input data berhasil atau tidak.
- Jika berhasil maka arahkan tampilan kembali ke alamat /kelas (Menampilkan Tabel Data Kelas) dengan membawa session success dengan pesan ‘Data berhasil ditambahkan’
- Jika gagal maka arahkan tampilan kembali ke alamat /kelas/create (Menampilkan kembali form input data kelas) dengan membawa session error dengan pesan ‘Data gagal ditambahkan’
- Jika berhasil maka arahkan tampilan kembali ke alamat /kelas (Menampilkan Tabel Data Kelas) dengan membawa session success dengan pesan ‘Data berhasil ditambahkan’
- Jika gagal maka arahkan tampilan kembali ke alamat /kelas/create (Menampilkan kembali form input data kelas) dengan membawa session error dengan pesan ‘Data gagal ditambahkan’
run: localhost/laravel/public/kelas
@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.
note : Perhatikan penempatan blok @endif
Input Validation
Validasi input menggunakan validation
- Untuk melakukan validasi input agar sesuai dengan yang diharapkan, Laravel sudah menyediakan fiturnya yaitu dengan menggunakan Facades Validator atau function validate.
- 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.
- 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
- 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
![]() |
Disini juga saya menggunakan Bootstrap |
- Variabel $errors berasal dari hasil validasi pada sintaks di Controller => $this->validate()
Hasil :
![]() |
Akan menampilkan error jika field yang diisi belum sesuai dengan yang ada di rule |
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
STUDI KASUS 2
- Perbaikan : Tambahkan validasi di SiswaController
Sebelumnya saya sudah memasukkan nis '1718117171', mari kita masukkan kembali saat menginput. Apakah berhasil atau tidak?
![]() |
Gagal! Jadi user tidak dapat memasukkan nis yang sama pada data siswa.
STUDI KASUS 3
→ Fungsi Old pada Radio Button dan Select Option
note: ini ada pada form siswa (jenkel & goldar)
![]() |
Tambahkan pada resources/views/siswa/form.blade.php |
Tidak ada komentar:
Posting Komentar