<?php namespace App\Providers; use Illuminate\Support\Facades\Validator; use Illuminate\Support\ServiceProvider; use Illuminate\Pagination\Paginator; use Illuminate\Support\Facades\DB; class AppServiceProvider extends ServiceProvider { /** * Register any application services. * * @return void */ public function register() { // } /** * Bootstrap any application services. * * @return void */ public function boot() { Paginator::useBootstrap(); Validator::extend('isunique', function ($attribute, $value, $parameters, $validator) { $value = strtolower($value); $query = DB::table($parameters[0])->whereRaw("LOWER({$attribute}) = ?", [$value]); if (isset($parameters[1])) { $query->where($parameters[1], '!=', $parameters[2]); } return $query->count() === 0; }); } }