<?php namespace App\Http\Requests\Admin; use App\Models\PurchaseOrder; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Gate; class PurchaseOrderReportRequest extends FormRequest { public function authorize() { return Gate::allows('purchase_order_access'); } public function rules() { return [ 'report_type' => [ 'nullable', 'in:' . implode(',', array_keys(PurchaseOrder::REPORTS_MODE_FOR_REPORT)) ], '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', ], ]; } 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.', ]; } }