2016-09-12 3 views
0

여러 양식 제출을 방지하려면 어떻게해야합니까? 매번 저를 보내는 사람이 2-Xx와 같은 형태로 연속으로 나타납니다. 키보드에 "enter"버튼이 스팸으로 보이는 것 같습니다. 양식이 Enter을 누르거나 페이지를 새로 고칠 경우 POST 요청을 다시 보내는 것을 사용자의 브라우저를 방지하기 위해 제출 한 후Symfony 다중 제출 금지

Tahanks

답변

2

당신은 사용자를 리디렉션합니다.

그냥 폼이 컨트롤러에서이 같은 유효한 경우 리디렉션 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)을 확인하십시오! –