如何在提交按鈕非常快速地點擊時防止多個提交?防止使用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('_ token',sha1(microtime()))和'Redirect :: route('form/success') - >'(with「data」,$ myData)。順便說一下,你需要在'store()'的開頭執行'Session :: put('_ token',sha1(microtime()))''。 – Unnawut