<?php
namespace App\Form;
use App\Entity\User;
use App\Service\Abstract\Traits\BasicData;
use Doctrine\DBAL\Exception;
use Doctrine\ORM\EntityManagerInterface;
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\TelType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Validator\Constraints as Assert;
class SignUpForm extends AbstractType
{
use BasicData;
/**
* @var EntityManagerInterface
*/
private EntityManagerInterface $em;
/**
* @param EntityManagerInterface $em
*/
public function __construct(
EntityManagerInterface $em
) {
$this->em = $em;
}
/**
* @param FormBuilderInterface $builder
* @param array $options
*
* @return void
* @throws Exception
*/
public function buildForm(
FormBuilderInterface $builder,
array $options
): void
{
$statuses = $this->fetchStatuses();
$builder
->add(
'firstName',
TextType::class,
[
'label' => 'Prenume*',
'row_attr' => [
'class' => 'frow col-md-6',
],
'constraints' => [
new Assert\NotBlank(['message' => 'Completeaza prenumele'])
]
]
)
->add(
'lastName',
TextType::class,
[
'label' => 'Nume*',
'row_attr' => [
'class' => 'frow col-md-6',
],
'constraints' => [
new Assert\NotBlank(['message' => 'Completeaza numele'])
]
]
)
->add(
'emailAddress',
EmailType::class,
[
'label' => 'Adresa de email*',
'row_attr' => [
'class' => 'frow col-md-6',
],
'constraints' => [
new Assert\Email(['message' => 'Adresa de email nu este valida'])
]
]
)
->add(
'phoneNumber',
TelType::class,
[
'label' => 'Numar de telefon*',
'row_attr' => [
'class' => 'frow col-md-6',
],
'constraints' => [
new Assert\NotBlank(['message' => 'Adresa de email nu este valida'])
]
]
)
->add(
'companyName',
EmailType::class,
[
'label' => 'Nume companie*',
'row_attr' => [
'class' => 'frow col-md-12',
],
'constraints' => [
new Assert\Email(['message' => 'Adresa de email nu este valida'])
]
]
)
->add(
'judet',
EmailType::class,
[
'label' => 'Judet*',
'row_attr' => [
'class' => 'frow col-md-6',
],
'constraints' => [
new Assert\Email(['message' => 'Adresa de email nu este valida'])
]
]
);
}
/**
* @param $resolver
*
* @return void
*/
public function configureOptions($resolver): void
{
}
}