【发布时间】:2014-06-01 23:45:06
【问题描述】:
如您所料,当验证失败时,我创建了一个重定向。
return Redirect::to('search')->withErrors($v->messages())
我可以毫无问题地在视图中访问它,但我想做一些不同的事情。我有一个 ErrorPartial.blade.php,我想将它传递给我的搜索视图。
return View::make('search.searchForm')
->with('title', 'Search Page')
->with('components', Subject::select('Component')->distinct()->get())
->with('measurementRow',$measurementRow)
->with('races', Race::parseRaceTable())
->with('errorPartial', View::make('errorPartial')
->with('errors',$v->messages())
->render())
;
问题是我无法在这个控制器函数中访问 $v。我可以通过某种方式访问将要传递给视图的错误吗?我试过这个:
return Redirect::to('search')->withErrors($v->messages())
->with('v', $v);
但我收到此错误。
Serialization of 'Closure' is not allowed
我可以在我的搜索视图中创建部分视图,但我想知道他们是否可以这样做。如果有人知道哪个更有效或 GPP,那么我也不介意知道这一点。
谢谢
【问题讨论】:
-
包括视图中的部分内容。当您通过
errors时,它们也将可用于部分。 -
这是执行此操作的有效方法吗/您是否知道是否可以以其他方式执行此操作,访问控制器中的错误并将视图传递给部分视图。你知道如果只是在视图中创建部分是 GPP(良好的编程实践)
-
只要视图或部分不知道数据来自哪里,就像在其中调用模型一样,您应该可以使用 GPP。请看我之前的问题,stackoverflow.com/questions/16092045/…
-
您的评论将我引向laravel.com/docs/responses,这将我引向laravel.com/docs/session。在我的控制器中,我可以这样做:$errors = Session::get('errors'),允许我将它传递给局部视图。 TY
标签: validation view controller laravel-4