Author: Bernhard Schussek (bschussek@gmail.com)
Inheritance: extends Symfony\Component\Form\AbstractTypeExtension
 /**
  * {@inheritdoc}
  */
 public function setDefaultOptions(OptionsResolverInterface $resolver)
 {
     parent::setDefaultOptions($resolver);
     // Constraint should always be converted to an array
     $constraintsNormalizer = function (Options $options, $constraints) {
         return is_object($constraints) ? array($constraints) : (array) $constraints;
     };
     $resolver->setDefaults(array('error_mapping' => array(), 'constraints' => array(), 'cascade_validation' => false, 'invalid_message' => 'This value is not valid.', 'invalid_message_parameters' => array(), 'extra_fields_message' => 'This form should not contain extra fields.'));
     $resolver->setNormalizers(array('constraints' => $constraintsNormalizer));
 }
 /**
  * {@inheritdoc}
  */
 public function configureOptions(OptionsResolver $resolver)
 {
     parent::configureOptions($resolver);
     // Constraint should always be converted to an array
     $constraintsNormalizer = function (Options $options, $constraints) {
         return is_object($constraints) ? array($constraints) : (array) $constraints;
     };
     $cascadeValidationNormalizer = function (Options $options, $cascadeValidation) {
         if (null !== $cascadeValidation) {
             @trigger_error('The "cascade_validation" option is deprecated since version 2.8 and will be removed in 3.0. Use "constraints" with a Valid constraint instead.', E_USER_DEPRECATED);
         }
         return null === $cascadeValidation ? false : $cascadeValidation;
     };
     $resolver->setDefaults(array('error_mapping' => array(), 'constraints' => array(), 'cascade_validation' => null, 'invalid_message' => 'This value is not valid.', 'invalid_message_parameters' => array(), 'allow_extra_fields' => false, 'extra_fields_message' => 'This form should not contain extra fields.'));
     $resolver->setNormalizer('constraints', $constraintsNormalizer);
     $resolver->setNormalizer('cascade_validation', $cascadeValidationNormalizer);
 }