в функции моего контроллера я инициализирую форму, которую передаю параметру в представление.Затем форма должна перенаправить на другое действие моего контроллера, например:
Контроллер: index ()
/**
* @Route("/validation/absences", name="validation_index")
*/
public function index(PaginatorInterface $paginator, Request $request, AbsenceService $absenceService)
{
$refusAbsence = new Absence();
$formRefus = $this->createForm(RefusAbsenceType::class, $refusAbsence);
$formRefus->handleRequest($request);
return $this->render('validation/index.html.twig', [
"formRefus" => $formRefus->createView(),
]);
Мое действие формы переходит к этой функции:
/**
* Refuser une demande d'absence
*
* @Route("validation/absences/refuser/{id}", name="validation_refuser")
*
* @param Absence $absence
* @return void
*/
public function refuser(Request $request, Absence $absence)
{
$token = $request->get('refus_absence')['_token'];
if (!$this->isCsrfTokenValid('refus_absence__token', $token)) {
throw new \Symfony\Component\Security\Core\Exception\AccessDeniedException('Accès interdit');
}
$commentaire = $request->get('refus_absence')['commentaire'];
dd($commentaire);
}
Я получаю свой токен с запросом, но не могу его проверить.У меня все еще есть ошибка.
Тем не менее, в документации Symfony говорится:
if ($this->isCsrfTokenValid('token_id', $submittedToken)) {
// ... do something, like deleting an object
}
И в моем HTML я имею:
<input type="hidden" id="refus_absence__token" name="refus_absence[_token]" value="7bbockF5tz3r7Ne9f6dQB7Y5YMcwd1QRES4vHrhQEQE">