<?php
namespace App\Form\Type;
use App\Entity\ContactFormSubmission;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\Validator\Constraints\Email;
use Symfony\Component\Validator\Constraints\NotBlank;
use Symfony\Component\Validator\Constraints\Length;
class ContactForm extends AbstractType {
public function __construct() {
}
public function buildForm(FormBuilderInterface $formBuilder, array $options): void {
$formBuilder
->add('name', TextType::class, [
'constraints' => [ new NotBlank(['message' => 'Name is a required field and can\'t be empty']) ],
'attr' => ['class' => 'field-element', 'placeholder' => 'Name']])
->add('emailAddress', TextType::class, [
'constraints' =>[
new NotBlank(['message' => 'Email is a required field and can\'t be empty']),
new Email(['message' => 'Email is in wrong format']),
],
'attr' => ['class' => 'field-element', 'placeholder' => 'E-Mail']])
->add('message', TextareaType::class, [
'constraints' =>[
new NotBlank(['message' => 'Message text is a required and can\'t be empty']),
new Length(max:1024)
],
'attr' => ['class' => 'field-element', 'placeholder' => 'Enter your message text here']])
->add('send', SubmitType::class, [
'label' => 'Send', 'attr' => ['class' => 'primary-button-green']]);
}
}