selectOptions = $selectOptions; parent::__construct( $name, $frontendType, self::VALUE_REQUIRED, $configPath, $description, $defaultValue, $shortCut ); } /** * Get available options * * @return array */ public function getSelectOptions() { return $this->selectOptions; } /** * Validates input data * * @param mixed $data * @return void * @throws \InvalidArgumentException */ public function validate($data) { if (!in_array($data, $this->getSelectOptions())) { throw new \InvalidArgumentException("Value specified for '{$this->getName()}' is not supported: '{$data}'"); } parent::validate($data); } }