public function buildForm(FormBuilder $builder, array $options) { if (null === $options['property_path']) { $options['property_path'] = $builder->getName(); } if (false === $options['property_path'] || '' === $options['property_path']) { $options['property_path'] = null; } else { $options['property_path'] = new PropertyPath($options['property_path']); } $builder->setRequired($options['required']) ->setReadOnly($options['read_only']) ->setErrorBubbling($options['error_bubbling']) ->setEmptyData($options['empty_data']) ->setAttribute('by_reference', $options['by_reference']) ->setAttribute('property_path', $options['property_path']) ->setAttribute('error_mapping', $options['error_mapping']) ->setAttribute('max_length', $options['max_length']) ->setAttribute('label', $options['label'] ?: $this->humanize($builder->getName())) ->setData($options['data']) ->addValidator(new DefaultValidator()); if ($options['trim']) { $builder->addEventSubscriber(new TrimListener()); } }
/** * {@inheritdoc} */ public function buildForm(FormBuilder $builder, array $options) { if (null === $options['property_path']) { $options['property_path'] = $builder->getName(); } if (false === $options['property_path'] || '' === $options['property_path']) { $options['property_path'] = null; } else { $options['property_path'] = new PropertyPath($options['property_path']); } if (!is_array($options['attr'])) { throw new FormException('The "attr" option must be "array".'); } $builder->setRequired($options['required'])->setDisabled($options['disabled'])->setErrorBubbling($options['error_bubbling'])->setEmptyData($options['empty_data'])->setAttribute('read_only', $options['read_only'])->setAttribute('by_reference', $options['by_reference'])->setAttribute('property_path', $options['property_path'])->setAttribute('error_mapping', $options['error_mapping'])->setAttribute('max_length', $options['max_length'])->setAttribute('pattern', $options['pattern'])->setAttribute('label', $options['label'] ?: $this->humanize($builder->getName()))->setAttribute('attr', $options['attr'] ?: array())->setAttribute('invalid_message', $options['invalid_message'])->setAttribute('invalid_message_parameters', $options['invalid_message_parameters'])->setAttribute('translation_domain', $options['translation_domain'])->setAttribute('virtual', $options['virtual'])->setData($options['data'])->setDataMapper(new PropertyPathMapper($options['data_class']))->addEventSubscriber(new ValidationListener()); if ($options['trim']) { $builder->addEventSubscriber(new TrimListener()); } }