Laravel:输入重定向不适用于数组输入

时间:2014-07-28 11:38:54

标签: arrays redirect input laravel

我有一个像这样的数组输入的表单

<input name='websites[]'/>
<input name='websites[]'/>
<input name='websites[]'/>

现在在控制器中,如果验证失败,我想返回输入。我使用这个常见的laravel指令:

if($validator->fails()){
    return \Redirect::back()->withInput()->withErrors($validator->messages());
}

但我收到错误“Expecting string,array given”。当然。 有解决方案还是应该自己处理数组输入?

1 个答案:

答案 0 :(得分:0)

这样做的标准方法是

    $validator = Validator::make($data, $rules);

    if ($validator->fails())
        return Redirect::back()->withErrors($validator)->withInput();

无需明确添加->messages()

修改 从评论中可以看出,这个答案显然不会对所有人有所帮助,因为正如用户deczo所说,->withErrors()接受一个Validator实例,并接受适当的MessageBag,或者如果提供的话,接收MessageBag本身。