2016-09-12 5 views
0

複数のフォーム提出を防止するにはどうすればよいですか?私を送るいくつかの人が2-Xxのような形をしているたびに。彼らはキーボードの "入力"ボタンをスパムしているようです。Symfony複数のサブミットを防ぐ

Tahanks

答えて

2

フォームはEnterが押されているか、ページが更新されている場合、再送信POST要求からユーザーのブラウザを防ぐために提出された後は、ユーザーをリダイレクトする必要があります。

ただ、フォームはあなたのコントローラでは、このような有効である場合にリダイレクトHTTP 302(一時的に)送る:

一部のクライアント側のコードは、ケースのユーザーにはあまり必要になることがある場合は、ボタンを複数回提出押している
if ($form->isValid()) { 
    $data = $form->getData(); 
    $em->persist($data); 
    $em->flush(); 

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

もちろん、クライアント側の検証を考慮して、ケース送信ボタンをクリックして無効にすることもできます。参考まで[この質問](https://stackoverflow.com/questions/2830542/prevent-double-submission-of-forms-in-jquery)をチェックしてください! –

関連する問題