以这种方式创建注册表后: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()
)
);
你能帮我正确解决这个问题吗?