Membuat Form Validasi Pada Laravel – Selamat datang kembali di tutorial laravel lengkap bahasa indonesia dari www.malasngoding.com.
Pada tutorial laravel kali ini kita akan belajar tentang cara membuat validasi pada form inputan dengan menggunakan laravel. misalnya kita akan membuat pengaturan bahwa forum tertentu wajib diisi atau misalnya karakter yang dimasukkan harus lebih dari 10 karakter, maksimal karakter yang bisa diinput misalnya 20 dan lain-lain.
Ada banyak sekali validasi yang bisa kita buat dengan laravel. karena laravel telah menyediakan berbagai jenis validasi yang bisa kita gunakan.
Yuk langsung saja kita masuk ke cara membuat form validasi atau form validation dengan laravel.
Membuat Form Validasi Pada Laravel
Secara default laravel telah menyediakan sebuah fungsi untuk membuat proses validasi form. yaitu kita bisa menggunakan fungsi validate().
Pada tutorial ini kita akan membuat contoh cara membuat form validasi pada laravel dengan sangat mudah.
Membuat Form Validasi Pada Laravel
Saya rekomendasikan kepada teman-teman agar membaca tutorial sebelumnya terlebih dulu yaitu:
Agar lebih mudah dan paham tentang penjelasan cara membuat form validasi laravel ini.
Seperti biasa pertama kita akan membuat 2 buah route untuk membuat form inputan, dan route yang 1 laginya untuk membuat proses validasi dari form inputan yang dikirim.
Di sini kita membuat 2 buah route. yaitu route get. dengan url ‘input’ yang akan mengakses method input pada controller MalasngodingController. dan route yang 1 nya lagi kita buat route post. dengan url ‘proses’ yang akan memproses method atau function proses pada controller MalasngodingController.
Sampai di sini saya rasa teman-teman sudah paham karena kita telah mempelajari cara membuat route ini pada tutorial sebelumnya di www.malasngoding.com.
Selanjutnya kita buat controller ‘MalasngodingController’. sesuai dengan yang sudah kita buat pada route.
Untuk membuat controller pada laravel, kita bisa membuatnya secara manual dalam folder App/Http/controllers, atau membuat controller dengan php artisan melalui terminal atau cmd.
Pada method input() kita membuat sebuah view yang menampilkan form penginputan sederhana. dimana pada form tersebut akan kita arahkan pemproses nya pada method proses() menggunakan method post. seperti yang telah kita definisikan pada route.
Akan saya jelaskan lengkapnya setelah kita membuat view. pada method input() kita menampilkan view input.blade.php.
pada form ini kita mengarahkan ke route ‘/proses’ dengan method post. sebelumnya kita juga sudah belajar cara membuat form seperti ini.
perhatikan pada value nya masing-masing. ada fitur keren dari laravel. yaitu fungsi old(). fungsi ini berguna untuk menampilkan data yang sebelumnya di input.
Jadi jika ada validasi error, maka data yang di isi pada form tidak hilang, tapi tetap masih ditampilkan. karena tentu akan sangat tidak efektif jika user harus menginput data berulang-ulang jika ada validasi yang salah pada penginputan.
Oke ya, sampai di sini saya yakin teman-teman sudah paham.
Kita lanjut membahas method proses().
1
2
3
4
5
6
7
8
9
10
public function proses(Request$request)
{
$this->validate($request,[
'nama'=>'required|min:5|max:20',
'pekerjaan'=>'required',
'usia'=>'required|numeric'
]);
return view('proses',['data'=>$request]);
}
pada method ini kita melakukan validasi form dengan fungsi validate().
Pertama kita tangkap data-data yang dikirim ke method ini ke dalam variabel $request. kemudian kita isi variabel $request ini ke dalam parameter pertama fungsi validate(). baru kemudian kita buat pengaturan validasi nya masing-masing.
1
2
3
4
5
$this->validate($request,[
'nama'=>'required|min:5|max:20',
'pekerjaan'=>'required',
'usia'=>'required|numeric'
]);
Pada contoh form validasi laravel sederhana ini kita membuat pengaturan ‘required’ pada form nama, pekerjaan dan usia. yang mana artinya form nama, pekerjaan dan usia ini wajib untuk di isi (tidak boleh kosong).
kemudian pada form nama, kita buat juga validasi jumlah minimal karakter yang di input. dan jumlah maksimal. di sini kita menetapkan form nama minimal harus 5 karakter (min:5), dan maksimal 20 karakter (max:20).
Jika validasi berhasil, atau jika yang di input sesuai dengan pengaturan yang sudah kita tetapkan dalam fungsi validate() tadi, maka kita passing data yang di input oleh user ke view proses.blade.php.
Oke selesai teman-teman, sebelumnya coba perhatikan lagi pada view input.blade.php.
Di sana kita juga sudah membuat pengecekan jika ada error dari validasi form nya, maka kita tampilkan errornya secara keseluruhan dan berurut.
1
2
3
4
5
6
7
8
9
@if(count($errors)>0)
<div class="alert alert-danger">
<ul>
@foreach($errors->all()as$error)
<li>{{$error}}</li>
@endforeach
</ul>
</div>
@endif
jika jumlah error lebih besar dari 0 (ada), maka tampilkan semua error dengan menggunakan fungsi foreach().
Coba kita lihat hasilnya.
Jalankan project laravel kita.
1
php artisan serve
dan akses localhost:8000/input
membuat form validasi pada laravel
di sini saya mencoba mengisi data yang kurang sesuai, karena saya mengiri 4 karakter pada nama, yang seharusnya harus 5 karakter minimal. klik proses maka validasi di jalankan. error yang tampil sesuai dengan yang diinput dan sesuai dengan pengaturan validasi yang sudah kita buat pada fungsi validate(). termasuk jika ada form yang yang tidak diisi.
membuat form validasi dengan laravel
Oke sekarang coba kita isi dengan data yang sesuai dan klik proses lagi.
form validation laravel
Oke selesai teman-teman, sangat mudah kan.
Teman-teman bisa menyesuaikan dengan kebutuhan. jika teman-teman ingin mengolah data yang diinput, misalnya teman-teman ingin menginput data nya ke database, teman-teman bisa membuat fungsi nya setelah fungsi validate().
1
2
3
4
5
6
7
8
9
10
11
12
public function proses(Request$request)
{
$this->validate($request,[
'nama'=>'required|min:5|max:20',
'pekerjaan'=>'required',
'usia'=>'required|numeric'
]);
//buat proses yang teman-teman inginkan di sini.
return view('proses',['data'=>$request]);
}
Mengubah Pesan Error Validasi Laravel
Kita juga bisa custom pesan error yang ditampilkan.
caranya buat variabel dan isi array seperti berikut di dalamnya. dan nama variabel nya isikan ke parameter ke tiga dalam fungsi validate(). seperti contoh berikut.
1
2
3
4
5
6
7
8
9
10
11
$messages=[
'required'=>':attribute wajib diisi cuy!!!',
'min'=>':attribute harus diisi minimal :min karakter ya cuy!!!',
'max'=>':attribute harus diisi maksimal :max karakter ya cuy!!!',
];
$this->validate($request,[
'nama'=>'required|min:5|max:20',
'pekerjaan'=>'required',
'usia'=>'required|numeric'
],$messages);
Pada contoh ini kita mengubah validasi required pesan errornya menjadi “nama_atributnya wajib diisi cuy!!!”, dan seterusnya. silahkan lihat hasilnya.
mengubah pesan error form validasi laravel
Validasi Form Pada Laravel
Berikut ini beberapa validasi yang paling sering dibutuhkan.
required
membuat form wajib isi
min:10
membuat minimal karakter yang diinput
max:10
membuat maksimal karakter yang boleh diinput
alpha
hanya boleh menginput huruf
numeric
hanya boleh menginput angka
alpha_num
hanya boleh menginput angka dan huruf ( !@#$%%^&* dan lain-lain tidak diperbolehkan )
bail
berhenti menjalankan validasi selanjutnya jika validasi sebelumnya gagal (error)
email
hanya boleh menginput email
Selengkapnya bisa teman-teman lihat di sini tentang konfirmasi yang bisa kita buat.
note :
jika teman-teman ingin membuat validasi password. atau misalnya teman-teman ingin data yang diisi pada 2 buah form sama, teman-teman bisa menggunakan ‘confirmation’, misalnya ada 2 buah form, yaitu form password dan form konfirmasi password. dimana maksudnya agar yang diisi pada form password sama dengan yang di isi pada form konfirmasi password,
kita bisa menggunakan ‘password_confirmation’ pada validasi form konfirmasi password (sesuai dengan nama form sebelumnya).
Jika nama form password adalah nama, maka validation konfirmasi nama nya buat nama_confirmation.
Diki Alfarabi Hadi
Coding enthusiast.
Someone who love learn something new. especially about web programming and web design. happy to share about knowledge and learn from other.
Action URL Laravel – Action URL adalah sebuah fitur pada laravel untuk tujuan generate URL ke controller, dan juga bisa mengirimkan data parameter seperti pada ...
Multi Bahasa Localization Laravel – Multi bahasa merupakan fitur pada website untuk menampilkan informasi dalam berbagai bahasa. Laravel telah menyediakan fitur multi bahasa. sehingga untuk ...
Import Excel Laravel – Setelah sebelumnya kita belajar tentang membuat export atau cetak laporan excel pada laravel, seperti ada yang kurang jika kita tidak membahas ...
Export Excel Laravel – Fitur export atau cetak laporan excel merupakan salah satu fitur yang paling penting. bagi teman-teman yang sering membuat aplikasi pesanan dari ...
Download Ebook belajar HTML & CSS dasar untuk pemula gratis.
Ebook ini bisa di download oleh teman-teman yang baru mulai belajar HTML dan CSS dasar tapi tidak tahu mau memulai belajar dari mana.
materi pembelajaran sudah di susun secara sistematis dan di dukung contoh gambar.
Bang saya mau nanya ..?
Kenapa setiap saya jalankan project di laravel slalu harus di aktifan dulu artisan
apa solusinya y
bisa lebih diperjelas pertanyaanya mas?
Bang saya mau nanya
Kenapa setiap saya jalankan project di laravel slalu harus di aktifan dulu artisan
apa solusinya y
maksudnya gimana mas
mantap
mas mau tanya, ini membuat validasinya menggunakan database atau tidak mas, maksudnya datanya masuk ke database atau tidak mas?