/** * Bootstrap any application services. * * @return void */ public function boot() { Validator::extend('booking_overlap', function ($attribute, $value, $parameters) { $input = \Input::all(); if (empty($input['from']) || empty($input['to'])) { return true; } $from = Carbon::createFromFormat('d-m-Y', $input['from']); $to = Carbon::createFromFormat('d-m-Y', $input['to']); $booking = new Booking(); $overlapping = $booking->overlappingAccepted($from, $to); return !$overlapping; }); }