2016-09-12 2 views
0

Как я могу предотвратить отправку нескольких форм? Каждый раз, когда кто-то посылает мне форму, как 2-Xx подряд. Похоже, что они рассылают спам кнопку «enter» на клавиатуре.Symfony Prevent multiple submit

Tahanks

ответ

2

Вы должны перенаправить пользователь после того, как форма была отправлена, чтобы предотвратить браузер пользователя от повторной отправки POST запроса, если Enter нажат или страница обновляется.

Просто отправить HTTP 302 (временные) перенаправления, если форма действует, как это в вашем контроллере:

if ($form->isValid()) { 
    $data = $form->getData(); 
    $em->persist($data); 
    $em->flush(); 

    return $this->redirectToRoute('route_submit_success');    
} 
+0

Некоторые стороне клиента код будет необходимо также в случае, пользователь нажимает кнопку Submit несколько раз, если это кнопка отправки сообщения может быть отключена при щелчке с учетом проверки на стороне клиента! проверьте [этот вопрос] (https://stackoverflow.com/questions/2830542/prevent-double-submission-of-forms-in-jquery) для справки! –

Смежные вопросы