2014-04-04 76 views
0

我創建了一個用於身份驗證的功能,並且我創建了另一個用於檢查參數的函數。函數checkParameters接受2個參數,數組的輸入參數需要驗證,另一個參數重定向到我要重定向的路由。 我在函數authenticate中調用函數checkParameters。 問題是,如果驗證程序沒有運行,這意味着一些字段爲空,我想重定向該函數。但是,當函數重定向時會發生問題,但它不會停止執行,它會繼續執行驗證功能,並使不帶參數的api請求。 我如何重定向和停止功能,不執行其餘的代碼。我想類似這樣的:Laravel 4,重定向並停止執行功能

Redirect::to($redirectto)->send(); 
die(); 

回答

2

阻止你必須使用return操作

0

在laravel重定向就像

return Redirect::to('/'); 

這樣做這總是停止執行的功能。

(涉及您的驗證功能,您可能需要使用try catch塊以上這些功能,所以你只需要在一個地方重定向 - 例如控制器)

+0

,但現在我有API相同的情況下,我這樣做:) if(!$ validator-> passes()){ return $ validator-> messages() - > toJson(); } 我想返回爲json。現在,當我在另一個函數中調用這個函數時,它不會像json那樣返回,它顯示空白頁面,但是在後面它繼續執行該函數。我neet作爲json作出迴應,並停止執行 –

+0

你不會在api調用中做重定向。只要'返回Response :: json($ message)',而$ message可以是'$ message = ['success'=> true,'data'=> [...]]'或者如果api調用是錯誤不成功。 – zwacky