<?php
namespace App\Form\Type;
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\HiddenType;
use Symfony\Component\Form\Extension\Core\Type\IntegerType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
/**
* CommandeType
*/
class CommandeType extends AbstractType
{
protected $type;
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('nom', TextType::class, array(
'attr' => array(
'class' => 'form--input-lastname',
'placeholder' => 'Votre nom',
'pattern' => '.{3,100}',
),
'label' => false,
'required' => true
))
->add('prenom', TextType::class, array(
'attr' => array(
'class' => 'form--input-firstname',
'placeholder' => 'Votre prénom',
'pattern' => '.{3,100}',
),
'label' => false,
'required' => true
))
->add('email', EmailType::class, array(
'attr' => array(
'class' => 'form--input-email',
'placeholder' => 'votreadressemail@mail.com',
'pattern' => '.{3,255}',
),
'label' => false,
'required' => true
))
->add('tel', TextType::class, array(
'attr' => array(
'class' => 'form--input-phone',
'placeholder' => 'Votre téléphone portable',
'pattern' => '.{3,20}',
),
'required' => true,
'label' => false,
))
->add('adresse', TextType::class, array(
'attr' => array(
'class' => 'form--input-address',
'placeholder' => 'Votre Adresse',
'pattern' => '.{3,255}',
),
'label' => 'form.adresse',
'required' => true
))
->add('complement', TextType::class, array(
'attr' => array(
'class' => 'form--input-addressbis',
'placeholder' => 'Code, étage, batiment',
),
'label' => 'form.complement',
'required' => false
))
->add('codePostal', TextType::class, array(
'attr' => array(
'class' => 'form--input-codepostal',
'placeholder' => 'Entrer un code postal',
'pattern' => '.{2,10}',
),
'label' => 'form.codePostal',
'required' => true,
))
->add('sexe', ChoiceType::class, array(
'choices' => [
'homme' => 'homme',
'femme' => 'femme',
'enfant' => 'enfant',
'bebe' => 'bebe'
],
'choice_translation_domain' => 'messages',
'translation_domain' => 'messages',
'placeholder' => 'Votre sexe de naissance',
'attr' => array(
'class' => 'form--input-sexe',
'placeholder' => 'Votre sexe de naissance',
'pattern' => '.{3,20}',
),
'label' => false,
'required' => true
))
->add('age', IntegerType::class, array(
'attr' => array(
'min' => 1,
'max' => 99,
'class' => 'form--input-age',
'placeholder' => 'Votre âge',
'pattern' => '.{1,3}',
),
'label' => 'form.age',
'required' => true
))
->add('latitude', HiddenType::class, array('mapped' => false))
->add('longitude', HiddenType::class, array('mapped' => false))
->add('stripeCustomer', HiddenType::class)
->add('paymentMethod', HiddenType::class)
->add('robot', HiddenType::class, array('mapped' => false))
;
}
public function setDefaultOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'App\Entity\Commande',
'cascade_validation' => 'true',
'validation_groups' => array('registration'),
'csrf_protection' => 'true',
'csrf_field_name' => 'true',
'intention' => 'commande_item'
));
}
public function getName()
{
return 'app_commandetype';
}
}