. */ declare(strict_types=1); namespace FireflyIII\Http\Requests; use Carbon\Carbon; use FireflyIII\Support\Request\ChecksLogin; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; use Illuminate\Validation\Validator; /** * Class SelectTransactionsRequest. */ class SelectTransactionsRequest extends FormRequest { use ChecksLogin; /** * Rules for this request. */ public function rules(): array { // fixed /** @var Carbon $sessionFirst */ $sessionFirst = clone session('first'); $first = $sessionFirst->subDay()->format('Y-m-d'); $today = today(config('app.timezone'))->addDay()->format('Y-m-d'); return [ 'start' => 'required|date|after:'.$first, 'end' => 'required|date|before:'.$today, 'accounts' => 'required', 'accounts.*' => 'required|exists:accounts,id|belongsToUser:accounts', ]; } public function withValidator(Validator $validator): void { if ($validator->fails()) { Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); } } }