有可能获得表格代币-Symfony 4

问题描述 投票:-1回答:2

[我正在使用Symfony 4,我想制作自己的表单,但是要进行插入,我需要由表单生成的令牌,有一种方法可以生成表单并获取或其他我可以得到的做。

public function new(Request $request): Response
{
    $customer = new Customers();



    $form = $this->createForm(Customers1Type::class, $customer); // <- here
    $form->handleRequest($request);

    if ($form->isSubmitted() && $form->isValid()) {
        $em = $this->getDoctrine()->getManager();
        $em->persist($customer);
        $em->flush();

        return $this->redirectToRoute('customers_index');
    }

    return $this->render('customers/new.html.twig', [
        'customer' => $customer,
        'form' => $form->createView(),
    ]);
}
php symfony
2个回答
0
投票

您基本上不需要自己获取和呈现令牌。 Symfony表单在内部进行处理,并且form_end函数呈现隐藏字段。


0
投票

[检查生成的表单时,您将看到:

<input type="hidden" id="customer__token" name="customer[_token]" value="the_long_token_auto_generated" /></form>

然后在控制器操作的内部,您可以通过$ request方法的获得令牌:

$token = $request->request->get('customer')['_token'];
© www.soinside.com 2019 - 2024. All rights reserved.