<?php
namespace App\Form;
use Doctrine\ORM\EntityRepository;
use Symfony\Component\Form\AbstractType;
use Doctrine\Persistence\ObjectManager;
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\RepeatedType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
class RegistrationForm extends AbstractType
{
private $manager;
public function __construct(ObjectManager $manager) {
$this->manager = $manager;
}
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('email', EmailType::class, array(
'label' => 'Email',
'required' => true,
'attr' => array(
'class' => 'form-control data-hj-allow',
'placeholder' => 'Please Enter Your Email Address'
)
))
->add('first_name', TextType::class, array(
'label' => 'First Name',
'required' => true,
'attr' => array(
'class' => 'form-control data-hj-allow',
'placeholder' => 'Please Enter You First Name'
)
))
->add('last_name', TextType::class, array(
'label' => 'Last Name',
'required' => true,
'attr' => array(
'class' => 'form-control data-hj-allow',
'placeholder' => 'Please Enter You Last Name'
)
))
->add('id', HiddenType::class, array(
'mapped' => false,
'required' => false
))
->add('password', RepeatedType::class, [
'type' => PasswordType::class,
'invalid_message' => 'The password fields must match.',
'options' => ['attr' => ['class' => 'password-field form-control data-hj-allow']],
'required' => true,
'first_options' => ['label' => 'Password' , 'attr' => [ 'class' => 'form-control data-hj-allow', 'placeholder' => 'Put a Secured Password']],
'second_options' => ['label' => 'Repeat Password', 'attr' => [ 'class' => 'form-control data-hj-allow', 'placeholder' => 'Confirm Password']]
]);
}
public function getBlockPrefix()
{
return 'registrationForm';
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'App\Entity\UserEntity',
'csrf_protection' => true,
'csrf_field_name' => '_token',
'allow_extra_fields' => true,
// a unique key to help generate the secret token
'intention' => 'userEntity_intention'
));
}
}