private function initActionOptions()
 {
     $this->actionOptionsResolver = new OptionsResolver();
     $this->actionOptionsResolver->setRequired(array('route_name'));
     $this->actionOptionsResolver->setDefined(array('element'));
     $self = $this;
     $this->actionOptionsResolver->setDefaults(array('route_name' => function (Options $options) use($self) {
         return $self->getDefaultRouteName($options);
     }, 'additional_parameters' => array(), 'label' => null));
     $this->actionOptionsResolver->setNormalizer('additional_parameters', function (Options $options, $value) use($self) {
         return $self->normalizeAdditionalParameters($options, $value);
     });
     $this->actionOptionsResolver->setAllowedTypes('element', 'string');
     $this->actionOptionsResolver->setAllowedTypes('route_name', 'string');
     $this->actionOptionsResolver->setAllowedTypes('additional_parameters', 'array');
     $this->actionOptionsResolver->setAllowedTypes('label', array('string', 'null'));
 }
 public function setDefaultOptions(OptionsResolverInterface $resolver)
 {
     $resolver->setDefined('entityName');
     $resolver->setRequired('entityName');
     $resolver->setAllowedTypes('entityName', 'string');
     $resolver->setDefault('invalid_message', function (Options $options) {
         return 'This value is not valid.  Unable to find ' . $options['entityName'] . ' in the database.';
     });
 }
Example #3
0
 /**
  * {@inheritdoc}
  */
 public function setDefaultOptions(OptionsResolverInterface $resolver)
 {
     $compound = function (Options $options) {
         return $options['widget'] !== 'single_text';
     };
     // Defaults to the value of "widget"
     $dateWidget = function (Options $options) {
         return $options['widget'];
     };
     // Defaults to the value of "widget"
     $timeWidget = function (Options $options) {
         return $options['widget'];
     };
     $resolver->setDefaults(array('input' => 'datetime', 'model_timezone' => null, 'view_timezone' => null, 'format' => self::HTML5_FORMAT, 'date_format' => null, 'widget' => null, 'date_widget' => $dateWidget, 'time_widget' => $timeWidget, 'with_minutes' => true, 'with_seconds' => false, 'html5' => true, 'by_reference' => false, 'error_bubbling' => false, 'data_class' => null, 'compound' => $compound));
     // Don't add some defaults in order to preserve the defaults
     // set in DateType and TimeType
     $resolver->setDefined(array('empty_value', 'placeholder', 'years', 'months', 'days', 'hours', 'minutes', 'seconds'));
     $resolver->setAllowedValues(array('input' => array('datetime', 'string', 'timestamp', 'array'), 'date_widget' => array(null, 'single_text', 'text', 'choice'), 'time_widget' => array(null, 'single_text', 'text', 'choice'), 'widget' => array(null, 'single_text', 'text', 'choice')));
 }