我有以下代码:
如果我去掉
public function store(Request $request)
{
$this->validateData($request->all());
// store something
return redirect()->action('controller@index')->withMessage( 'Saved Successfully' );
}
private function validateData($requestParams)
{
try
{
$validator->validate( $requestParams );
}
catch ( ValidationException $e )
{
redirect()->action('controller@create')->withInput()->withErrors( $e->get_errors() )->send();
exit(); // this causes the withErrors to not be there
}
}
如果我去掉
exit();
,错误消息将出现,但存储功能也将被执行(请参见 // store something
)。我知道我可以像这样重新编写我的代码:if($this->validateData($request->all()))
{
// store something
return redirect()->action('controller@index')->withMessage( 'Saved Successfully' );
}
但是我不想在这里出现丑陋的if
语句。必须有一种方法可以在没有它的情况下使用闪存消息进行重定向。