<?php
namespace AppBundle\Form\Customer;
use AppBundle\Entity\Customer\ContactForm;
use Captcha\Bundle\CaptchaBundle\Form\Type\CaptchaType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Validator\Constraints\Length;
use Symfony\Component\Validator\Constraints\NotBlank;
class ContactFormType extends AbstractType
{
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('contactRequest', ContactFormRequestType::class, ['label' => false])
->add('reason', ChoiceType::class, [
'choices' => array(
ContactForm::REASON_1 => '1',
ContactForm::REASON_2 => '2',
ContactForm::REASON_3 => '3',
ContactForm::REASON_4 => '4',
ContactForm::REASON_5 => '5',
ContactForm::REASON_6 => '6'
),
'label' => false,
'attr' => ['class'=> 'form-control form-control-sm'],
'translation_domain' => false
])
->add('message', TextareaType::class, [
'label' => false,
'attr' => ['class'=> 'form-control form-control-sm', 'placeholder' => 'Treść wiadomości', 'rows' => 5],
'translation_domain' => false,
'constraints' => [
new NotBlank(),
new Length(array('min' => 3)),
]
])
;
}/**
* {@inheritdoc}
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'AppBundle\Entity\Customer\ContactForm'
));
}
/**
* {@inheritdoc}
*/
public function getBlockPrefix()
{
return 'appbundle_customer_contactform';
}
}