<?php namespace App\Http\Requests\Admin; use App\Models\ReportJobsCompletedDetailed; use Illuminate\Foundation\Http\FormRequest; use Gate; class JobsCompletedComparisonRequest extends FormRequest { public function authorize() { return Gate::allows('jobs_completed_comparison_access'); } public function rules() { return [ 'report_type' => [ 'nullable', 'in:'. implode(',', array_keys(ReportJobsCompletedDetailed::REPORTS_MODE)) ], 'year_from' => [ 'required_if:report_type,custom', 'date_format:Y', ], 'year_to' => [ 'required_if:report_type,custom', 'date_format:Y', 'after_or_equal:year_from', ], 'date' => [ 'required_if:report_type,daily,weekly', 'date_format:Y-m-d', 'before:tomorrow', ], ]; } public function messages() { return [ 'year_from.date_format' => 'The year from should be a valid 4 digit year.', 'year_to.date_format' => 'The year to should be a valid 4 digit year.', ]; } }