element is something of a mystery. You can use it to specify a search engine box. Or to allow a reader to provide feedback. Most aggregators ignore it. */ protected ?string $textInput = null; /** * @validate hour * @format hour */ protected ?array $skipHours = null; /** * @validate day * @format day */ protected ?array $skipDays = null; /** * @return bool * @throws ReflectionException */ public function isValid(): bool { return (new Validator())->isObjectValid($this); } /** * @return array */ public function toArray(): array { $vars = get_object_vars($this); unset($vars['validated']); return $vars; } }