Disini saya akan mencoba mengenalkan beberapa syntax yang biasanya digunakan dalam FORM, diantaranya :
Bagi Anda yang sudah biasa developing, khususnya develop website dinamis pasti sering bertemu dengan tag <form>
. Ya, singkatnya untuk menangani inputan dari seluruh field yang disediakan.
Di Laravel sebenarnya Anda diperbolehkan menggunakan tag-tag murni HTML untuk mengelolanya, tetapi disini saya akan sedikit memperkenalkan penggunaan form
pada laravel yang memang menurut saya sedikit unik. Tentunya dengan memanfaatkan Blade Template milik laravel.
###Penggunaan Biasa
Maka yang dihasilkan oleh HTML adalah seperti ini :
Ada beberapa yang kita temukan disini :
- method yang digunakan adalah “POST”
- target URL kearah lokasi yang sama
- menambahkan
accept-charset="UTF-8"
yang berhubungan dengan penggunaan karakter font - juga bonus
token
bertypehidden
denganvalue
berupa 36 digit string yang teracak untuk alasan keamanan.
###Mengarahkan Ke URL yang diinginkan
Bila ingin mengarahkan ke URL yang diinginkan, Anda bisa gunakan syntax ini :
Hasilnya akan seperti ini :
###Mengarahkan ke Route
Gunakan cara ini :
Hasilnya akan sama seperti diatas, tergantung dari tujuan route
Anda.
###Mengarahkan ke Controller
Bisa gunakan cara berikut :
Pastikan NamaController
beserta method
yang Anda tuju tersedia agar tidak terjadi error
. Dan form akan menuju method dalam Controller tersebut.
###Method yang Berbeda
Secara default Laravel akan selalu membuka form dengan method POST. Sekarang bagaimana bila kita ingin menggunakan method lain seperti GET, PUT, PATCH, atau DELETE?
Berikut saya jelaskan caranya :
Dan akan menghasilkan :
Ada yang menarik disini, untuk method ‘GET’, laravel tidak akan menciptakan token
karena memang tidak dibutuhkan. Coba sekarang gunakan syntax berikut :
Dan hasilnya akan seperti ini :
Methodnya ada 2 ya? Sebenarnya Laravel membuatnya seperti ini bukan tanpa alasan, mereka menjadikannya seperti ini karena mereka peduli. Peduli dengan browser-browser yang tidak support dengan method PUT’, ‘PATCH’ dan ‘DELETE’. Toh, tujuannya juga sama.
###Agar Form memperbolehkan proses Upload
Bila Anda ingin membuat sebuah form yang didalamnya terdapat aktifitas upload, entah itu upload gambar, file doc, dan lain sebagainya. Gunakan 'files' => true
. Seperti berikut :
Dan hasilnya akan seperti berikut :
Dengan begitu, form Anda berhak melakukan upload file kedalam server.
###Bonus
Bila Anda ingin membuat sebuah form lengkap didalamnya terdapat identitas route, diperbolehkan melakukan upload file sekaligus menambahkan class css didalamnya, Anda bisa gunakan seperti berikut :
Bagian ini merupakan pengganti Form Open diatas, berfungsi untuk nge-binding data dari model. Ringkasnya, digunakan untuk melakukan perubahan pada record dalam salah satu tabel di database (Update).
Caranya sebagai berikut :
Penjelasan :
$item
merupakan variabel yang diterima dariController
atauRoute
. Biasanya memiliki seluruh record item yang berasal dari tabel. ( Model::find($id) )- Untuk parameter kedua array(), maksudnya semua inputan dalam form akan dirujuk ke identitas route sembari mengirim
id
dari record yang ingin di update.
Ada yang dibuka, berarti harus ada yang ditutup. Dalam Laravel juga ada cara khusus untuk menutup form yang Anda bangun.
Sebenarnya Anda masih bisa menggunakan cara lama seperti ini :
Namun di dalam Laravel anda bisa menggunakan syntax seperti ini dengan memanfaatkan blade
. Dan nilainya tetap sama-sama </form>
.
Sekian pembahasan mengenai Form Open, Model dan Close di Laravel. Di lain waktu saya akan coba mengupas lagi beragam hal unik mengenai form menggunakan Facade Laravel. Semoga bermanfaat.