Validation di laravel 5.3

logo laravel

Kali bahas mengenai validation pada laravel 5.3 . Jadi kalo di artikel sebelumnya kita membuat sebuah form untuk membuat postingan tanpa validasi . Validasi itu penting karena kalo misal user kita mengklik publish tanpa mengisi formnya terlebih dahulu , maka data itu tetap akan tertambah walaupun isinya kosong . Itu baru salah satunya . Baik karena kalian sudah tau bahwa membuat validasi itu penting dan tentunya sangat bermanfaat .


Baik sangat mudah sekali kita membuat validasi di laravel ini . Baik langsung saja kita bahas cara membuat validasi di laravel 5.3 . Di artikel sebelumnya kita telah berhasil membuat tambah data menggunakan eloquent, sebelumnya kalo belum di baca baca dulu . Baik kalo sudah kita lanjut membuat validasi .

Baca juga tambah data menggunakan eloquent laravel 5.3

Pertama tama, kita membuat form karena kita telah membuatnya di artikel sebelumnya, sekarang kita lanjut ke tahap selanjutnya yaitu kita membuat validasi . Kita buka BlogController , letaknya di App\Http\Controllers\BlogController.php . Jika sudah di bagian store, kita tambahkan validasi yaitu dengan cara .

$this->validate($request, [
'title' => 'required|max:255',
'descripsi' => 'required',
]);

Untuk 'title' => 'required|max:255' artinya nama inputnnya , lalu untuk 'required|max:255' syaratnya, bahwa title di butuhkan dan tidak boleh kosong dan maksimal panjang karakternya adalah 255 . Mungkin dikita beri karakter minimalnya untuk descripsinya dengan |min:20 misal . kita coba edit di bagian metode store

    public function store(Request $request)
    {
$this->validate($request, [
'title' => 'required|max:255',
'descripsi' => 'required|min:20',
]);
        $posting=new Post;
$posting->title=$request->title;
$posting->descripsi=$request->descripsi;
$posting->save();
return redirect('blog');
    }


Jika kita isi kedua duanya tetapi panjanga descriptsinya tidak lebih dari 20 maka data tidak akan tersimpan .  Sekarang agar kita bisa memperlihatkan errornya pada user kita bagaimana caranya ? Baik sekarang kita akan coba .

<h1>Buat Postingan</h1>
@if (count($errors) > 0)
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
@endif
<pre>
<form action="/blog"method="post">
<input type="text"name="title"placeholder="Judul">
<textarea name="descripsi"placeholder="descripsi"
style="margin: 0px; width: 173px; height: 122px;">
</textarea>
<input type="hidden"name="_token"value="{{ csrf_token() }}">
<input type="submit"name="submit"value="Publish">
</form>
</pre>

Sekarang kita buka localhost:8000/blog/create/ dan langsung mengklik publish .


menampilkan error validasi laravel

Maka akan terjadi error dan menampilkan errornya di baigan mana saja . Jadi ketika error maka valiable errors akan dikirim berupa array, errornya nama saja . Jika errornya lebih lebih dari satu maka akan menampilkan error dengan menggunakan foreach karena foreach perulangan untuk array dan menampilkan errornnya dengan menampilkan satu satu yaitu {{ $error }} .


@if (count($errors) > 0)
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
@endif

Bro kalo menampilkan dalam satu list kitu tidak rapih dong . Baik sekarang kita akan coba menampilkan errornya dengan rapih .

<h1>Buat Postingan</h1>
<pre>
<form action="/blog"method="post">
<input type="text"name="title"placeholder="Judul"value="{{ old('title') }}">
@if ($errors->has('title'))
{{ $errors->first('title') }}
@endif
<textarea name="descripsi"placeholder="descripsi"
style="margin: 0px; width: 173px; height: 122px;">{{ old('descripsi') }}
</textarea>
@if ($errors->has('descripsi'))
{{ $errors->first('descripsi') }}
@endif
<input type="hidden"name="_token"value="{{ csrf_token() }}">
<input type="submit"name="submit"value="Publish">
</form>
</pre>

menampilkan error validasi laravel


Untuk menampilkan errors satu data saja berikan, artinya kita di dalam variable errors ada array descriptsi maka menampilkannya dengan {{ $errors->first('descripsi') }} .

@if ($errors->has('descripsi'))
{{ $errors->first('descripsi') }}
@endif

Untuk {{ old('title') }} artinya jika ada data yang sebelumnya maka akan menampilkan data sebelumnya . Manfaatnya kalo misal user mengetik sudah panjangan panjangan di artikelnya tetapi lupa belum di beri judul, maka akan ada validasi dan gagal menambahkan datanya, tetapi dengan menggunakan fungsi old ini data yang kita tulis tidak akan hilang kita ada validasi .

Jadi itu dia cara membuat validasi di laravel 5.3 . Semoga bermanfaat .

Bagi yang tertarik dan ingin belajar laravel saya akan memberikan list - list materi untuk belajar laravel disini

Belum ada Komentar untuk "Validation di laravel 5.3"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel