【发布时间】:2014-07-14 19:34:53
【问题描述】:
是否可以将用户重定向到 Laravel 中的 POST 路由。
我有 2 个表格。 form-one 被发送到包含 form-two 的 Route,form-two 被发送到 final Route然后验证。如果 form-two 的 $validator->fails() 是 final 路线上的真实值,我想将用户送回 from-two 但它是一个POST Route。
Redirect::to('Form-Two')->withErrors($validator);
我尝试使用它,但它失败了,可能是因为它仅适用于 Get 路由。我想做的一件事是将用户重定向到 Get Route,然后从 Get Route 将数据发布到 form-two,但这听起来很愚蠢。有没有更清洁的方法来做到这一点。我是新手。
形式二:
Route::post('form-two', array('before' => 'csrf', function()
{
$formOneData= Input::all();
$rules = array(...);
$validator = Validator::make($formOneData, $rules);
if ($validator->fails()) {
return Redirect::to('Form-One')->withErrors($validator);
}
}
最后一页:
Route::post('final', array('before' => 'csrf', function()
{
$finalData = Input::all();
$rules = array(...);
$validator = Validator::make($finalData, $rules);
if ($validator->fails()) {
return Redirect::to('Form-Two')->withErrors($validator);
}
}
【问题讨论】:
-
withErrors将错误存储在会话中。也许您可以尝试利用这一事实。 -
谢谢您的建议,但我仍然需要将用户送回表单二页面,以便他进行必要的更改。是否可以从 routes.php 文件将数据发布到路由?
标签: php validation redirect laravel