/** * Validates Input Options * * @param array $inputOptions * @return array */ public function validate(array $inputOptions) { $errors = []; //Basic types validation $options = $this->getAvailableOptions(); foreach ($options as $option) { try { if ($inputOptions[$option->getName()] !== null) { $option->validate($inputOptions[$option->getName()]); } } catch (\InvalidArgumentException $e) { $errors[] = $e->getMessage(); } } // validate ConfigOptionsList $options = $this->collector->collectOptionsLists(); foreach ($options as $option) { $errors = array_merge($errors, $option->validate($inputOptions, $this->deploymentConfig)); } return $errors; }