diff --git a/src/AppBundle/Form/Type/CarouselItemType.php b/src/AppBundle/Form/Type/CarouselItemType.php index 51dc1e3e5ae..f2e5af2c01c 100644 --- a/src/AppBundle/Form/Type/CarouselItemType.php +++ b/src/AppBundle/Form/Type/CarouselItemType.php @@ -4,6 +4,8 @@ use Sylius\Bundle\ResourceBundle\Form\Type\AbstractResourceType; use Symfony\Component\Form\FormBuilderInterface; +use Symfony\Component\Form\FormInterface; +use Symfony\Component\OptionsResolver\OptionsResolver; /** * @author Magdalena Banasiak @@ -24,6 +26,27 @@ public function buildForm(FormBuilderInterface $builder, array $options) ; } + /** + * {@inheritdoc} + */ + public function configureOptions(OptionsResolver $resolver) + { + $resolver + ->setDefaults([ + 'data_class' => $this->dataClass, + 'validation_groups' => function (FormInterface $form) { + $data = $form->getData(); + $validationGroups = $this->validationGroups; + if (null !== $data && null === $data->getId()) { + $validationGroups[] = 'carousel_item_create'; + } + + return $validationGroups; + }, + ]) + ; + } + /** * {@inheritdoc} */ diff --git a/src/AppBundle/Resources/config/validation.yml b/src/AppBundle/Resources/config/validation.yml index 2987d0ce59d..5f98e3827af 100644 --- a/src/AppBundle/Resources/config/validation.yml +++ b/src/AppBundle/Resources/config/validation.yml @@ -4,3 +4,9 @@ AppBundle\Entity\ProductGridItem: - NotBlank: ~ product: - NotBlank: ~ + +AppBundle\Entity\CarouselItem: + properties: + file: + - NotBlank: { groups: ['carousel_item_create'] } + - Image: { groups: ['carousel_item_create'] }