/**
  * @param OptionsResolver $resolver
  * @throws \Exception
  */
 public function configureOptions(OptionsResolver $resolver)
 {
     parent::configureOptions($resolver);
     $resolver->setRequired(['attribute', 'parent_data']);
     $resolver->setNormalizer('attribute', function (Options $options, $value) {
         return self::normalizeVariantAttribute($value);
     });
     $resolver->setNormalizer('parent_data', function (Options $options, $value) {
         return self::normalizeParentData($options, $value);
     });
     $resolver->setNormalizer('constraints', function (Options $options, $constraints) {
         $constraints[] = new UniqueVariant(['attribute' => $options['attribute'], 'parentData' => $options['parent_data']]);
         return $constraints;
     });
 }
 /**
  * @inheritdoc
  */
 public function configureOptions(OptionsResolver $resolver)
 {
     parent::configureOptions($resolver);
     $resolver->setDefault('attr', ['novalidate' => 'novalidate']);
 }