<?php
namespace App\Form;
use App\Entity\Data\User;
use App\Form\Type\CaptchaType;
use App\Form\Type\ToggleType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
use Symfony\Component\Form\Extension\Core\Type\RepeatedType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Validator\Constraints\IsTrue;
class RegisterType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('email', EmailType::class, [
'label' => 'email',
'attr' => [
'autocomplete' => 'new-password'
],
'hint' => 'email__hint',
])
->add('newPassword', RepeatedType::class, [
'type' => PasswordType::class,
'first_options' => [
'label' => 'password',
'always_empty' => false,
'attr' => [
'autocomplete' => 'new-password',
],
],
'second_options' => [
'label' => 'password_repeat',
'always_empty' => false,
'attr' => [
'autocomplete' => 'new-password',
],
],
'invalid_message' => 'validate.password.not_same',
'hint' => 'password__hint',
])
->add('captcha', CaptchaType::class)
->add('transmissionConsent', ToggleType::class, [
'mapped' => false,
'label' => 'lbl.transmission_consent',
'constraints' => [new IsTrue(null, 'validate.check.not_true')]
])
->add('emailOwner', ToggleType::class, [
'mapped' => false,
'label' => 'lbl.email_owner',
'constraints' => [new IsTrue(null, 'validate.check.not_true')]
])
->add('termsAgree', ToggleType::class, [
'mapped' => false,
'label' => 'lbl.terms_agree',
'constraints' => [new IsTrue(null, 'validate.check.not_true')]
])
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => User::class,
'validation_groups' => ['Default', 'register']
]);
}
}