Buckets:
| namespace App\Form; | |
| use App\Entity\User; | |
| use Symfony\Component\Form\AbstractType; | |
| use Symfony\Component\Form\Extension\Core\Type\CheckboxType; | |
| use Symfony\Component\Form\Extension\Core\Type\PasswordType; | |
| use Symfony\Component\Form\FormBuilderInterface; | |
| use Symfony\Component\OptionsResolver\OptionsResolver; | |
| use Symfony\Component\Validator\Constraints\IsTrue; | |
| use Symfony\Component\Validator\Constraints\Length; | |
| use Symfony\Component\Validator\Constraints\NotBlank; | |
| class RegistrationForm extends AbstractType | |
| { | |
| public function buildForm(FormBuilderInterface $builder, array $options): void | |
| { | |
| $builder | |
| ->add('email') | |
| // ->add('agreeTerms', CheckboxType::class, [ | |
| // 'mapped' => false, | |
| // 'constraints' => [ | |
| // new IsTrue([ | |
| // 'message' => 'You should agree to our terms.', | |
| // ]), | |
| // ], | |
| // ]) | |
| ->add('username') | |
| ->add('firstname') | |
| ->add('lastname') | |
| ->add('plainPassword', PasswordType::class, [ | |
| // instead of being set onto the object directly, | |
| // this is read and encoded in the controller | |
| 'mapped' => false, | |
| 'attr' => ['autocomplete' => 'new-password'], | |
| 'constraints' => [ | |
| new NotBlank([ | |
| 'message' => 'Please enter a password', | |
| ]), | |
| new Length([ | |
| 'min' => 6, | |
| 'minMessage' => 'Your password should be at least {{ limit }} characters', | |
| // max length allowed by Symfony for security reasons | |
| 'max' => 4096, | |
| ]), | |
| ], | |
| ]) | |
| ; | |
| } | |
| public function configureOptions(OptionsResolver $resolver): void | |
| { | |
| $resolver->setDefaults([ | |
| 'data_class' => User::class, | |
| ]); | |
| } | |
| } | |
Xet Storage Details
- Size:
- 2.03 kB
- Xet hash:
- 717b36719770778c73857951ea0d3087bb7f040298c8a8a1f40f428134e0d186
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.