【问题标题】:Laravel 5.1 Form Validation Redirect With Input ProblemsLaravel 5.1 表单验证重定向输入问题
【发布时间】:2015-10-22 08:14:19
【问题描述】:

我在使用 Laravel 5.1 Redirect With Input 时遇到问题。我似乎无法从提交的输入中获取旧值。

我一直在研究堆栈溢出的任何帖子,但仍然陷入这个问题。

这是我的请求控制器

public function create() {
  $this->data["pageDescription"] = "Add new page.";
  $this->data["pageSubtitle"] = $this->data["pageTitle"] . " Add New";
  $this->data["formAction"] = adminRoute("page");
  return view("admin.page.form")->with("data", $this->data)->withInput(Input::old());
}

这是我提交的控制器

public function store(Request $request) {
  Input::flash();

  $validator = Validator::make($request->all(), [
    "title" => "required|max:100",
    "url_title" => "required|max:100",
    "meta_description" => "required|max:50",
    "content_title" => "required|max:100",
    "content_description_id" => "required",
    "status" => "required|in:pending,published",
    "add_more_content" => "required|in:true,false"
  ]);

  if($validator->fails()) {
    return redirect()->back()
              ->with("data", $this->data)
              ->withErrors($validator)
              ->withInput();
  } else {
    return redirect()->back()->withInput();
  }
}

这有点奇怪,因为当我在 redirect()->back() 之前转储 Session::all() 时,_old_input 是存在的

但是当我在我的函数 create() 上转储 Session::all() 时,_old_input 是空的。

即使我跳过验证并使用

redirect()->back()->withInput();

我还是遇到了同样的问题,旧值输入为空

这是我的表单视图

有人知道我做错了什么吗?

谢谢你

【问题讨论】:

  • 你让它工作了吗?我刚刚遇到了同样的问题。

标签: php laravel-5.1


【解决方案1】:

您是否收到验证错误?我不是 100% 确定,但我认为 redirect()->back() 会调用表单的 GET 方法。

【讨论】:

  • Yesss.. 验证错误显示,但旧值始终为空.. 在另一种情况下,我尝试重定向到当前控制器,一切正常。但是为什么在这种情况下不同的控制器不起作用..
猜你喜欢
  • 2016-07-25
  • 2016-01-20
  • 2021-10-10
  • 2016-05-13
  • 2016-05-16
  • 2016-06-12
  • 1970-01-01
  • 2016-03-11
  • 1970-01-01
相关资源
最近更新 更多