chore: add validation

chore: add info when search data not found
This commit is contained in:
myuqinurrohman 2025-03-30 11:51:01 +07:00
parent a7f97d64ab
commit 7cd72f7f0f
3 changed files with 29 additions and 16 deletions

View File

@ -28,14 +28,27 @@ public function index(){
} }
public function search(Request $request){ public function search(Request $request){
$search = $request->input('search');
$request->validate([
'search' => 'nullable|string|max:255|regex:/^[a-zA-Z0-9\s]+$/'
], [
'search.string' => 'Pencarian harus berupa teks.',
'search.max' => 'Pencarian tidak boleh lebih dari 255 karakter.',
'search.regex' => 'Pencarian hanya boleh mengandung huruf, angka, dan spasi.'
]);
$search = trim($request->input('search'));
$data = [ $data = [
'title' => 'Pencarian', 'title' => 'Pencarian',
'page' => 'search', 'page' => 'search',
'data' => News::where('title', 'LIKE', '%'.$search.'%') 'data' => News::query()
->latest() ->when($search, function ($query, $search) {
->simplePaginate(12), return $query->where('title', 'LIKE', '%' . $search . '%');
})
->latest()
->simplePaginate(12)
->appends(['search' => $search]),
'search' => $search 'search' => $search
]; ];

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View File

@ -13,13 +13,13 @@
</section> </section>
<!-- end page title --> <!-- end page title -->
<!-- start section --> <!-- start section -->
<section class="pt-0 ps-11 pe-11 xl-ps-2 xl-pe-2"> <section class="pt-0 ps-11 pe-11 xl-ps-2 xl-pe-2 mb-5 mb-sm-10">
<div class="container-fluid"> <div class="container-fluid">
<div class="row"> <div class="row">
<div class="col-12"> <div class="col-12">
<ul class="blog-grid blog-wrapper grid-loading grid grid-4col xl-grid-4col lg-grid-3col md-grid-2col sm-grid-2col xs-grid-1col gutter-extra-large"> <ul class="blog-grid blog-wrapper grid-loading grid grid-4col xl-grid-4col lg-grid-3col md-grid-2col sm-grid-2col xs-grid-1col gutter-extra-large">
<li class="grid-sizer"></li> <li class="grid-sizer"></li>
@foreach ($data as $item) @forelse ($data as $item)
<!-- start blog item --> <!-- start blog item -->
<li class="grid-item"> <li class="grid-item">
<div class="card border-0 border-radius-4px box-shadow-extra-large box-shadow-extra-large-hover"> <div class="card border-0 border-radius-4px box-shadow-extra-large box-shadow-extra-large-hover">
@ -44,18 +44,18 @@
</div> </div>
</li> </li>
<!-- end blog item --> <!-- end blog item -->
@endforeach @empty
<div style="text-align: center; margin-top: 2rem; margin-bottom: 3rem; padding-bottom: 10rem;">
<div>
<img src="{{asset('assets/defaults/box.png')}}" alt="" style="width: 4rem;">
</div>
Data dengan keyword tersebut tidak ditemukan.
</div>
@endforelse
</ul> </ul>
</div> </div>
<div class="col-12 mt-4 d-flex justify-content-center"> <div class="col-12 mt-2 d-flex justify-content-center">
<ul class="pagination pagination-style-01 fs-13 fw-500 mb-0"> {{$data->links()}}
<li class="page-item"><a class="page-link" href="#"><i class="feather icon-feather-arrow-left fs-18 d-xs-none"></i></a></li>
<li class="page-item"><a class="page-link" href="#">01</a></li>
<li class="page-item active"><a class="page-link" href="#">02</a></li>
<li class="page-item"><a class="page-link" href="#">03</a></li>
<li class="page-item"><a class="page-link" href="#">04</a></li>
<li class="page-item"><a class="page-link" href="#"><i class="feather icon-feather-arrow-right fs-18 d-xs-none"></i></a></li>
</ul>
</div> </div>
</div> </div>
</div> </div>