제출 단추가 매우 빠르게 칠 때 여러 제출을 방지하려면 어떻게합니까?Laravel 4를 사용하여 여러 항목 생성 금지
이 내 store
기능입니다 :
public function store()
{
$input = Input::except('_token');
$country = new Country($input);
$country->save();
}
내가 고유 ID에 대한 유효성 검사를 추가하는 방법에 대해 생각했다. 하지만 같은 방법을 여러 번 실행하면 각각 Country
인스턴스가 달라 지므로 다른 ID를 가지므로 어쨌든 항목이 만들어 질 것이라고 생각했습니다. 어쨌든이 상황에 대한 유효성 검사를 사용하는 아이디어가 마음에 들지 않습니다. 새로운 개체를 저장할 때
public function updatePost(Post $post) {
if (count($post->getDirty()) > 0) {
$post->save();
return Redirect::back()->with('success', 'Post is updated!');
} else {
return Redirect::back()->with('success', 'Nothing to update!');
}
}
그러나, getDirty()
어떤 도움이되지 않을 것 : 엔티티를 업데이트 할 때 여러 제출을 방지 주위
는 뭔가가있다.
나는 잠시 동안 검색을 해왔지만 나는 곧장 아무것도 찾지 못했습니다.
이 문제를 해결하는 일반적인 방법은 무엇입니까?
편집. Redirect::route()
을 사용해 보았지만 같은 결과가 나왔습니다.
중복 된 http://stackoverflow.com/questions/17239586/laravel-4-prevent-multiple-form-submissions-csrf-token? – Unnawut
나는 그것을 보았고 도움이되지 않습니다. – dabadaba
답변에있는 옵션이 옵션이 아니라는 답변에 대한 의견이 있습니다. Session :: put ('_ 토큰', sha1 (마이크로 시간()))'과'Redirect :: route ('form/success') -> with ("data", $ myData)'둘 다 수행되어야합니다. 그리고'store()'의 처음에'Session :: put ('_ token', sha1 (microtime()))'을 할 필요가 있습니다. – Unnawut