# Code Coverage for /home/users/tracer/www/spookie.lab.24unix.net/Spookie/src/Form/RegistrationFormType.php

| Code Coverage
| Lines | Functions and Methods | Classes and Traits
Total | 0.00% covered (danger) | 0.00% | 0 / 24 | 0.00% covered (danger) | 0.00% | 0 / 2 | CRAP | 0.00% covered (danger) | 0.00% | 0 / 1
RegistrationFormType | 0.00% covered (danger) | 0.00% | 0 / 24 | 0.00% covered (danger) | 0.00% | 0 / 2 | 6 | 0.00% covered (danger) | 0.00% | 0 / 1
buildForm | 0.00% covered (danger) | 0.00% | 0 / 21 | 0.00% covered (danger) | 0.00% | 0 / 1 | 2 |
configureOptions | 0.00% covered (danger) | 0.00% | 0 / 3 | 0.00% covered (danger) | 0.00% | 0 / 1 | 2 |

1 | <?php
2 |
3 | namespace App\Form;
4 |
5 | use App\Entity\User;
6 | use Symfony\Component\Form\AbstractType;
7 | use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
8 | use Symfony\Component\Form\Extension\Core\Type\EmailType;
9 | use Symfony\Component\Form\Extension\Core\Type\PasswordType;
10 | use Symfony\Component\Form\Extension\Core\Type\RepeatedType;
11 | use Symfony\Component\Form\FormBuilderInterface;
12 | use Symfony\Component\OptionsResolver\OptionsResolver;
13 | use Symfony\Component\Validator\Constraints\IsTrue;
14 | use Symfony\Component\Validator\Constraints\Length;
15 |
16 | class RegistrationFormType extends AbstractType
17 | {
18 | public function buildForm(FormBuilderInterface $builder, array $options): void
19 | {
20 | $builder
21 | ->add(child: 'username')
22 | ->add(child: 'email', type: EmailType::class)
23 | ->add(child: 'password', type: RepeatedType::class, options: [
24 | 'type' => PasswordType::class,
25 | 'invalid_message' => 'The password fields must match.',
26 | 'options' => ['attr' => ['class' => 'password-field']],
27 | 'required' => true,
28 | 'first_options' => ['label' => 'Password'],
29 | 'second_options' => ['label' => 'Repeat Password'],
30 | 'constraints' => [new Length(exactly: ['min' => 6])]
31 | ])
32 | ->add(child: 'agreeTerms', type: CheckboxType::class, options: [
33 | 'mapped' => false,
34 | 'constraints' => [
35 | new IsTrue(options: [
36 | 'message' => 'You should agree to our terms.',
37 | ]),
38 | ],
39 | ])
40 | ;
41 | }
42 |
43 | public function configureOptions(OptionsResolver $resolver): void
44 | {
45 | $resolver->setDefaults(defaults: [
46 | 'data_class' => User::class,
47 | ]);
48 | }
49 | }