2014-04-04 40 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