Arrays 使用Laravel 4创建表单数组
在Laravel 4中,我可以使用如下代码创建文本输入:Arrays 使用Laravel 4创建表单数组,arrays,forms,laravel,laravel-4,Arrays,Forms,Laravel,Laravel 4,在Laravel 4中,我可以使用如下代码创建文本输入: {{ Form::text('title', '', ['placeholder' => 'Ex. title', 'id' => 'title']) }} 这是非常有用的,因为如果表单中的其他字段未通过验证,我只需执行 return Redirect::back()->withErrors($validator)->withInput(Input::all()); 当表单再次显示时,字段title将保留以前提
{{ Form::text('title', '', ['placeholder' => 'Ex. title', 'id' => 'title']) }}
这是非常有用的,因为如果表单中的其他字段未通过验证,我只需执行
return Redirect::back()->withErrors($validator)->withInput(Input::all());
当表单再次显示时,字段title
将保留以前提交的值
好东西
现在我的问题是:输入数组如何
我在表单中添加了以下输入字段:
<input type="text" name="option[]" />
<input type="text" name="option[]" />
<input type="text" name="option[]" />
<input type="text" name="option[]" />
现在,我知道我可以手动处理数组选项的填充,可能如下所示:
$options = Input::get('option');
return Redirect::back()
->withErrors($validator)
->withInput(Input::except('option'))
->with('options', $options);
然后在刀片模板上循环使用$option数组
是的,那可能有用。但这有点不太靠谱,它仍然错过了Laravel在提交失败后自动填充字段的强大工作流程,就像我在title
中所做的那样。所以我的问题是:
在这些情况下,Laravel 4中是否有任何内置方法来处理输入数组?如果您为每个输入添加索引,如:
{{Form::text('option[1]')}{{{Form::text('option[2]')}}
它会工作的
您可以在创建输入的函数中的
vendor\laravel\framework\src\illumb\Html\FormBuilder.php
中看到这是如何工作的我曾经尝试过这样做,但我遇到了这个错误
您到底尝试了什么?我可以看到预期的输出,但您是如何尝试并实现它的?正如所写的那样。我添加了一组文本字段,这些字段是数组“option[]”,当响应“return Redirect::back()->withErrors($validator)->withInput(Input::all());”时,这些字段不仅没有填充,而且Laravel抛出了一个错误。我不知道你错过了什么。我把所有相关的代码都放在那里了…是的。我知道我可以在名字上写任何我想要的东西。但当我返回一个错误时,它仍然会给我一个错误。
$options = Input::get('option');
return Redirect::back()
->withErrors($validator)
->withInput(Input::except('option'))
->with('options', $options);