<?php
namespace App\Form;
use App\Entity\Franchise;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\IntegerType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Validator\Constraints;
use Symfony\Component\Validator\Context\ExecutionContextInterface;
class FranchiseType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$choices = 0;
$choicestable = array();
for ($i = 0;$i<50;$i++){
$choicestable[$choices]=$choices;
$choices += 5000;
}
$builder
->add('nom')
->add('prenom')
->add('adresse')
->add('cp',null,[
'label' => 'Code Postal',
'constraints'=>[
new Constraints\Callback(function($object, ExecutionContextInterface $context){
if(preg_match('#[0-9]{5}#i',$object)){
}
else{
if ($object != null)
{
$context->buildViolation('Entrée un code postal valide')->addViolation();
}
}
}),
],
])
->add('ville')
->add('departement')
->add('pays')
->add('mail',EmailType::class,[
'label'=>'E-mail',
])
->add('telephone')
->add('secteur',null,[
'label'=>"Secteur d'implantation",
])
->add('apport',IntegerType::class,[
'label'=>'Apport Personnel',
'attr' => ['min'=>0],
])
->add('apportcomplement',IntegerType::class,[
'label' => 'Apport Complémentaire Possible',
'attr' => ['min' => 0],
])
->add('local',null,[
'label' => 'Avez Vous un local ?'
])
->add('echeance',ChoiceType::class,[
'label' =>' Échéance du projet',
'choices'=>[
'1 Mois - 3 Mois' =>'1 Mois - 3 Mois',
'3 Mois - 6 Mois' =>'3 Mois - 6 Mois',
'6 Mois et plus' => '6 Mois et plus' ,
]
])
->add('message')
->add('save',SubmitType::class,[
'attr' => [
'class' => 'button-save',
]
])
;
}
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
'data_class' => Franchise::class,
]);
}
}