src/HomeBundle/Form/ContactUsType.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\HomeBundle\Form;
  3. use Symfony\Component\Form\AbstractType;
  4. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  5. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  6. use Symfony\Component\Form\Extension\Core\Type\TextType;
  7. use Symfony\Component\Form\FormBuilderInterface;
  8. use Symfony\Component\OptionsResolver\OptionsResolver;
  9. use Symfony\Component\Validator\Constraints\Email;
  10. use Symfony\Component\Validator\Constraints\NotBlank;
  11. class ContactUsType extends AbstractType
  12. {
  13. /**
  14. * {@inheritdoc}
  15. */
  16. public function buildForm(FormBuilderInterface $builder, array $options): void
  17. {
  18. $builder
  19. ->add('subject', TextType::class, [
  20. 'label' => 'subject_txt',
  21. "attr" => [
  22. 'placeholder' => 'subject_txt',
  23. "class" => "input",
  24. "data-stack-input-input" => "true",
  25. "autocomplete" => "subject",
  26. "data-validate-input" => "subject",
  27. "data-form-validate-input-rules" => "required",
  28. ],
  29. 'constraints' => [
  30. new NotBlank(["message" => "Please provide the subject"]),
  31. ]
  32. ])
  33. ->add('name', TextType::class, [
  34. 'label' => 'name_txt',
  35. "attr" => [
  36. 'placeholder' => 'name_txt',
  37. "class" => "input",
  38. "data-stack-input-input" => "true",
  39. "autocomplete" => "name",
  40. "data-validate-input" => "name",
  41. "data-form-validate-input-rules" => "required",
  42. ],
  43. 'constraints' => [
  44. new NotBlank(["message" => "Please provide your name"]),
  45. ]
  46. ])
  47. ->add('email', EmailType::class, [
  48. 'label' => 'email_txt',
  49. "attr" => [
  50. 'placeholder' => 'email_txt',
  51. "class" => "input",
  52. "autocomplete" => "email",
  53. "data-stack-input-input" => "true",
  54. "data-validate-input" => "email",
  55. "data-form-validate-input-rules" => "required|email",
  56. ],
  57. 'constraints' => [
  58. new NotBlank(["message" => "Please provide a valid email"]),
  59. new Email(["message" => "Your email doesn't seems to be valid"]),
  60. ]
  61. ])
  62. ->add('phone', TextType::class, [
  63. 'label' => 'phone_txt',
  64. "attr" => [
  65. 'placeholder' => 'phone_txt',
  66. "class" => "input",
  67. "data-stack-input-input" => "true",
  68. "autocomplete" => "tel",
  69. "data-validate-input" => "phone",
  70. "data-form-validate-input-rules" => "required|phone",
  71. ],
  72. ])
  73. ->add('message', TextareaType::class, [
  74. 'label' => 'message_txt',
  75. "attr" => [
  76. 'placeholder' => 'message_txt',
  77. "rows" => 8,
  78. "class" => "input",
  79. "data-stack-input-input" => "true",
  80. "data-validate-input" => "message",
  81. "data-form-validate-input-rules" => "required",
  82. ],
  83. 'constraints' => [
  84. new NotBlank(["message" => "Please provide your message"]),
  85. ]
  86. ]);
  87. }
  88. /**
  89. * {@inheritdoc}
  90. */
  91. public function configureOptions(OptionsResolver $resolver): void
  92. {
  93. $resolver->setDefaults([
  94. 'error_bubbling' => true
  95. ]);
  96. }
  97. }