bundle/w3des/AdminBundle/src/Form/Type/ContactType.php line 18

Open in your IDE?
  1. <?php
  2. namespace w3des\AdminBundle\Form\Type;
  3. use Symfony\Component\Form\AbstractType;
  4. use Symfony\Component\Form\Extension\Core\Type\FormType;
  5. use Symfony\Component\Form\FormBuilderInterface;
  6. use Symfony\Component\Form\Extension\Core\Type\TextType;
  7. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  8. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  9. use Symfony\Component\OptionsResolver\OptionsResolver;
  10. use w3des\AdminBundle\Validator\IsTrueV3;
  11. class ContactType extends AbstractType
  12. {
  13. /**
  14. * {@inheritdoc}
  15. */
  16. public function buildForm(FormBuilderInterface $builder, array $options)
  17. {
  18. $builder->add('name', TextType::class, [
  19. 'label' => 'form.name',
  20. 'attr' => [
  21. 'placeholder' => 'form.name'
  22. ],
  23. 'required' => true
  24. ]);
  25. $builder->add('email', EmailType::class, [
  26. 'label' => 'form.email',
  27. 'attr' => [
  28. 'placeholder' => 'form.email'
  29. ],
  30. 'required' => false
  31. ]);
  32. $builder->add('phone', TextType::class, [
  33. 'label' => 'form.phone',
  34. 'attr' => [
  35. 'placeholder' => 'form.phone'
  36. ],
  37. 'required' => false
  38. ]);
  39. $builder->add('subject', TextType::class, [
  40. 'label' => 'form.subject',
  41. 'attr' => [
  42. 'placeholder' => 'form.subject'
  43. ],
  44. 'required' => false
  45. ]);
  46. $builder->add('content', TextareaType::class, [
  47. 'label' => 'form.message',
  48. 'attr' => [
  49. 'placeholder' => 'form.message',
  50. 'rows' => 1
  51. ]
  52. ]);
  53. $cnt = new IsTrueV3();
  54. $cnt->message = 'form.invalid_captcha';
  55. $builder->add('recaptcha', RecaptchaV3Ttype::class, [
  56. 'mapped' => false,
  57. 'required' => true,
  58. 'constraints' => array(
  59. $cnt
  60. ),
  61. 'action_name' => $options['module'],
  62. 'label' => false,
  63. ]);
  64. }
  65. public function getParent()
  66. {
  67. return FormType::class;
  68. }
  69. /**
  70. * {@inheritDoc}
  71. */
  72. public function configureOptions(OptionsResolver $resolver)
  73. {
  74. $resolver->setDefaults([
  75. 'module' => 'main'
  76. ]);
  77. }
  78. }