/** * {@inheritdoc} */ public function buildForm(FormBuilderInterface $builder, array $options) { foreach ($options['fields'] as $field => $parameters) { $fieldOptions = $this->getArrayFromKey($parameters, 'options'); if (isset($fieldOptions['choices_prefix'])) { $fieldOptions['choices'] = Parser::prefixArray($fieldOptions['choices'], $fieldOptions['choices_prefix']); unset($fieldOptions['choices_prefix']); } $this->parsedConstraints[$field] = $this->parseConstraintsArray($this->getArrayFromKey($parameters, 'constraints')); $this->addConstraints($fieldOptions, $this->parsedConstraints[$field], $options['constraint_messages']); $fieldOptions['required'] = array_key_exists('NotBlank', $this->parsedConstraints[$field]); $builder->add($field, $parameters['type'], $fieldOptions); } }