如何发送 flash 消息以形成错误字段(Symfony)

How to send flash message to form error field (Symfony)

这是我的注册表单代码:

public function register(Request $request, UserPasswordEncoderInterface $passwordEncoder)
{
    $user = new User();
    $form = $this->createForm(RegisterType::class, $user);

    $form->handleRequest($request);
    if ($form->isSubmitted() && $form->isValid()) {

        $password = $passwordEncoder->encodePassword($user, $user->getPlainPassword());
        $user->setPassword($password);
        $user->setPlan('1');
        $datetime = new \DateTime();
        $datetime->modify('+30 day');
        $user->setExpiration($datetime);
        $user->setActive('0');

        $entityManager = $this->getDoctrine()->getManager();
        $entityManager->persist($user);
        $entityManager->flush();

        $this->addFlash('success', 'Your account has been created. Check your inbox for verification e-mail.');
    }

    return $this->render('home/register.html.twig', array(
        'form' => $form->createView(),
    ));
}

在将用户保存到数据库的最后,设置了 Flash 消息。有什么方法可以通过表单错误字段显示该消息吗?

不可以,您不能向表单的错误添加即显消息。通过 class API 操作表单错误的唯一方法是 public function addError(FormError $error) 但如您所见,它只接受 FormError 类型的参数而不是字符串。