user()->isAdmin(); } public function rules() { return [ 'date_range' => 'bail|sometimes|string|in:last7_days,last30_days,last365_days,this_month,last_month,this_quarter,last_quarter,this_year,last_year,all_time,custom', 'start_date' => 'bail|sometimes|date', 'end_date' => 'bail|sometimes|date', ]; } public function prepareForValidation() { $input = $this->all(); if (! array_key_exists('start_date', $input)) { $input['start_date'] = now()->subDays(20); } if (! array_key_exists('end_date', $input)) { $input['end_date'] = now(); } $this->replace($input); } }