. */ declare(strict_types=1); namespace FireflyIII\Api\V1\Requests; use Illuminate\Validation\Validator; class DateRangeRequest extends ApiRequest { public function rules(): array { return [ 'start' => sprintf('date|after:1970-01-02|before:2038-01-17|before:end|required_with:end|', $this->required), 'end' => sprintf('date|after:1970-01-02|before:2038-01-17|after:start|required_with:start|', $this->required), ]; } public function withValidator(Validator $validator): void { $validator->after( function (Validator $validator): void { if (!$validator->valid()) { return; } $start = $this->getCarbonDate('start')?->startOfDay(); $end = $this->getCarbonDate('end')?->endOfDay(); $this->attributes->set('start', $start); $this->attributes->set('end', $end); } ); } }