大家好,我试图验证我的输入,但我有奇怪的问题重定向时,验证失败laravel显示"重定向到http://localhost:8888/public/admin/categories/create"页面加载之前。这是我在控制器中的验证:
$rules = [
'name' => 'required | unique:categories'
];
$input = Input::all();
$validator = Validator::make($input, $rules);
if($validator->fails()){
return Redirect::route('admin.categories.create')->withErrors($validator)->withInput();
}
如何删除此消息并只显示有错误的页面?
当你要求Laravel重定向时,它会做两件事:
- 发送一个带有目标URL的Location头——这是默认的重定向方法
- 使用Javascript输出带有重定向的HTML -这是在无法发送header的情况下的备用机制
如果你看到回退机制,这意味着有问题发送头。最常见的原因是你的代码在重定向头发送之前输出了一些东西。启用错误报告(error_reporting(E_ALL)),你可能会得到一个警告说"报头已经发送"。