После создания регистрационной формы следующим образом: https://symfony.com/doc/current/doctrine/registration_form.html Возникла проблема с созданием учетной записи. В предыдущей версии я делал так же, и никаких проблем не было. Я не уверен, что это ошибка или я делаю что-то не так. Форма по-прежнему недействительна. В Profiler->Validation я вижу вызов: data.password Это значение не должно быть нулевым.
Я попытался удалить параметр данных из конструктора форм и удалить средство разрешения параметров, а затем работает, но я знаю, что это неправильное решение.
Удалено из RegistrationFormType.php:
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => User::class,
]);
}
Изменено в RegistrationController.php:
public function register(Request $request, UserPasswordEncoderInterface $passwordEncoder, GuardAuthenticatorHandler $guardHandler, AppAuthenticator $authenticator): Response
{
$user = new User();
$form = $this->createForm(RegistrationFormType::class);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$user->setEmail($form->get('email')->getData());
$user->setPassword(
$passwordEncoder->encodePassword(
$user,
$form->get('plainPassword')->getData()
)
);
Можете ли вы помочь мне с правильным решением этой проблемы?