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();
}
}
有点奇怪,因为当我在重定向() - > back()之前转储Session :: all()时_old_input存在
但是当我在我的函数create()上转储Session :: all()时_old_input为空。
即使我跳过验证,并使用
redirect()->back()->withInput();
我仍然遇到同样的问题,旧值输入为空
这是我的表单视图
有人知道我做错了吗?
谢谢你
答案 0 :(得分:0)
您是否收到验证错误?我不是百分百肯定,但我认为SELECT TOP(@MaxNumber) ROW_NUMBER() OVER (ORDER BY t1.number)
FROM master..spt_values t1 CROSS JOIN master..spt_values t2
EXCEPT
SELECT Id FROM <your_table>
会调用您表单的GET方法。