示例#1
0
 /**
  * {@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);
     }
 }