Dalam Laravel, Anda dapat membuat dan menangani form dengan beberapa cara, diantaranya:
- Membuat form dengan HTML biasa dan menangani form submit dengan menggunakan controller. Contoh:
<form action="/submit" method="post">
@csrf
<input type="text" name="nama">
<input type="submit" value="Submit">
</form>
Contoh menangani submit form:
use Illuminate\Http\Request;
class NamaController extends Controller
{
public function submit(Request $request)
{
$nama = $request->input('nama');
// proses lain
}
}
- Menggunakan helper form dari Laravel seperti
form_open
,form_input
,form_submit
, dll. yang disediakan oleh blade templating system
{{ Form::open(['action' => 'NamaController@submit', 'method' => 'post']) }}
{{ Form::text('nama') }}
{{ Form::submit('Submit') }}
{{ Form::close() }}
Contoh menangani submit form:
use Illuminate\Http\Request;
class NamaController extends Controller
{
public function submit(Request $request)
{
$nama = $request->input('nama');
// proses lain
}
}
- Menggunakan
form
facade dari laravel
<form action="{{ route('submit') }}" method="post">
@csrf
{{ Form::text('nama') }}
{{ Form::submit('Submit') }}
</form>
use Illuminate\Http\Request;
class NamaController extends Controller
{
public function submit(Request $request)
{
$nama = $request->input('nama');
// proses lain
}
}
Dalam kedua contoh di atas, Anda harus menambahkan token CSRF untuk memvalidasi setiap request form untuk mencegah serangan CSRF. Setelah data diterima dari form, Anda dapat menggunakannya sesuai kebutuhan dalam aplikasi Anda, misalnya untuk disimpan ke dalam database atau digunakan dalam proses lain.
Penting untuk memvalidasi data formulir sebelum menanganinya. Laravel menyediakan cara mudah untuk memvalidasi input formulir menggunakan metode validate
pada objek permintaan.
Contoh:
use Illuminate\Http\Request;
class NamaController extends Controller
{
public function submit(Request $request)
{
$request->validate([
'nama' => 'required|min:3',
]);
$nama = $request->input('nama');
// proses lain
}
}
Ini juga merupakan praktik yang baik untuk menggunakan Form Request untuk menangani validasi form dan request.