. */ declare(strict_types=1); namespace FireflyIII\Http\Requests; use Carbon\Carbon; use Illuminate\Foundation\Http\FormRequest; /** * Class Request. * * @codeCoverageIgnore * * @SuppressWarnings(PHPMD.NumberOfChildren) */ class Request extends FormRequest { /** * Return a boolean value. * * @param string $field * * @return bool */ public function boolean(string $field): bool { if ('true' === (string)$this->input($field)) { return true; } if ('false' === (string)$this->input($field)) { return false; } return 1 === (int)$this->input($field); } /** * @param string $value * * @return bool */ public function convertBoolean(string $value): bool { if ('true' === $value) { return true; } if (1 === $value) { return true; } if ('1' === $value) { return true; } if (true === $value) { return true; } return false; } /** * Return floating value. * * @param string $field * * @return float|null */ public function float(string $field): ?float { $res = $this->get($field); if (null === $res) { return null; } return (float)$res; } /** * Return integer value. * * @param string $field * * @return int */ public function integer(string $field): int { return (int)$this->get($field); } /** * Return string value. * * @param string $field * * @return string * * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ public function string(string $field): string { return app('steam')->cleanString((string)($this->get($field) ?? '')); } /** * Return date or NULL. * * @param string $field * * @return Carbon|null */ protected function date(string $field): ?Carbon { return $this->get($field) ? new Carbon($this->get($field)) : null; } }