Kembali lagi di postingan baru, kali ini akan membahas tentang create menggunakan DB Facade, validasi dan old input.
Langsung ke studi kasus yang pertama, yaitu:
Lakukan create data with DB Facade, validation dan old input pada tabel t_kelas. Buatlah tampilan form untuk menambahkan data kelas.
Implementasikan validasi untuk tabel t_kelas.
Pertama, buka file tugas.blade.php dan tambahkan link menuju form.
URL digunakan menciptakan URL menuju url tertentu. URL yang diciptakan akan ditambahkan base_url dari project kita.
Selanjutnya buka file web.php dan tambahkn route create.
Buka file KelasController.php dan tambahkan function create untuk menampilkan view dengan nama form yang terdapat pada folder kelas.
Buat file formkelas.blade.php yang disimpan di folder kelas. Jika belum ada foldernya maka dibuat terlebih dahulu foldernya.
CSRF (Cross-Site Request Forgery) merupakan bentuk eksploitasi website yang dieksekusi atas wewenang korban, tanpa dikehendakinya. CSRF menipu website melalui request dari user yang dipercaya. Serangan bekerja melalui link atau script pada halaman site yang bisa diakses user.
csrf_token() digunakan untuk membuat csrf token.
csrf_field() digunakan untuk membuat input hidden_token beserta tokennya.
@csrf merupakan 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.
Selanjutnya buka lagi file web.php dan tambahkan route post.
Buka file KelasController.php dan tambahkan function store.
Coba buka di browser dan hasilnya seperti ini.
Lalu klik Tambah Data Kelas
Isi form nya.
Lalu klik Simpan dan data baru akan ditambahkan.
Selanjutnya adalah menampilkan feedback pesan sukses/error. Buka file tugas.blade.php dan tambahkan kode berikut diatas URL.
@if digunakan untuk menampilkan suatu bagian pada HTML ketika kondisi pada PHP terpenuhi.
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
Buka di browser untuk melihat hasilnya sebagai berikut.
Selanjutnya adalah 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.
Buka file KelasController.php dan tambahkan code di function store sebagai berikut.
Buka file formkelas.blade.php dan tambahkan code berikut di paling atas.
Buka di browser. Akan menampilkan error jika field yang diisi belum sesuai dengan yang ada di 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 validasinya.
Jika terdapat lebih dari 2 validasi, gunakan simbol |
Jika string validasi memerlukan parameter, gunakan simbol titik dua :
Selanjutnya adalah menggunakan fungsi old untuk menampilkan value sebelumnya. Ketika form tidak lengkap atau tidak sesuai dengan rules seharusnya form yang sudah diisi oleh user yang sebelumnya harus tetap muncul.
Buka file formkelas.blade.php dan tambahkan value sebagai berikut.
Dan hasilnya begini.
Lalu studi kasus kedua adalah sebagai berikut.
Sepertinya sekian saja postingan untuk kali ini.
Terimakasih sudah berkunjung dan mohon maaf atas banyak kekurangannya.
Wassalamu'alaikum warrahmatullahi wabarakatuh.
Buat file formkelas.blade.php yang disimpan di folder kelas. Jika belum ada foldernya maka dibuat terlebih dahulu foldernya.
CSRF (Cross-Site Request Forgery) merupakan bentuk eksploitasi website yang dieksekusi atas wewenang korban, tanpa dikehendakinya. CSRF menipu website melalui request dari user yang dipercaya. Serangan bekerja melalui link atau script pada halaman site yang bisa diakses user.
csrf_token() digunakan untuk membuat csrf token.
csrf_field() digunakan untuk membuat input hidden_token beserta tokennya.
@csrf merupakan 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.
Selanjutnya buka lagi file web.php dan tambahkan route post.
Buka file KelasController.php dan tambahkan function store.
Coba buka di browser dan hasilnya seperti ini.
Lalu klik Tambah Data Kelas
Isi form nya.
Lalu klik Simpan dan data baru akan ditambahkan.
Selanjutnya adalah menampilkan feedback pesan sukses/error. Buka file tugas.blade.php dan tambahkan kode berikut diatas URL.
@if digunakan untuk menampilkan suatu bagian pada HTML ketika kondisi pada PHP terpenuhi.
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
Buka di browser untuk melihat hasilnya sebagai berikut.
Selanjutnya adalah 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.
Buka file KelasController.php dan tambahkan code di function store sebagai berikut.
Buka file formkelas.blade.php dan tambahkan code berikut di paling atas.
Buka di browser. Akan menampilkan error jika field yang diisi belum sesuai dengan yang ada di 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 validasinya.
Jika terdapat lebih dari 2 validasi, gunakan simbol |
Jika string validasi memerlukan parameter, gunakan simbol titik dua :
Selanjutnya adalah menggunakan fungsi old untuk menampilkan value sebelumnya. Ketika form tidak lengkap atau tidak sesuai dengan rules seharusnya form yang sudah diisi oleh user yang sebelumnya harus tetap muncul.
Buka file formkelas.blade.php dan tambahkan value sebagai berikut.
Dan hasilnya begini.
Lalu studi kasus kedua adalah sebagai berikut.
Di tutorial ini terdapat BUG, temukan BUG nya dan pecahkan solusi dari BUG tersebut!
Dari apa yang saya temukan adalah BUG nya terletak pada bagian create data dimana pada file SiswaController.php ketika menambahkan function store. Pada bagian if, return nya diisi ('/siswa') yang mana harusnya adalah ('/belajar') karena itu yang menjadi index atau tampilan utama dari tabelnya. Pada file web.php juga harusnya membuat route dengan ('/belajar').
Terakhir studi kasus ketiga, yaitu:
Implementasikan fungsi old untuk field berjenis radio button dan field berjenis select option pada form siswa (field jenkel dan goldar).
Sepertinya sekian saja postingan untuk kali ini.
Terimakasih sudah berkunjung dan mohon maaf atas banyak kekurangannya.
Wassalamu'alaikum warrahmatullahi wabarakatuh.






