<?php
namespace App\Form;
use App\Entity\ImageManager;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\FileType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Validator\Constraints\File;
use Symfony\Component\Validator\Constraints\Image;
class ImageManagerType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('file', FileType::class, [
'label' => 'Choisir fichier',
'label_attr' => ['class' => 'custom-file-label'],
'attr' => ['class' => 'custom-file-input'],
'constraints' => [
new File([
'maxSize' => '10M',
'mimeTypes' => [
'image/png',
'image/jpeg',
'image/jpg'
],
'mimeTypesMessage' => 'Veuillez télécharger un fichier image (png, jpeg ou jpg) valide',
'maxSizeMessage' => 'Le fichier est trop volumineux ({{ size }} {{ suffix }}). La taille maximale autorisée est {{ limit }} {{ suffix }}.',
'groups' => ['bp_cover']
])
]
])
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => ImageManager::class,
]);
}
}