L4:填充多个文本输入


L4: populate multiple text inputs

我正在进行一个Laravel 4项目,我们有一个动态形式的视图。

Form::text('title')
<ul>
    <li>Form::text('movie_actor[]')</li>
    <li>Form::text('movie_actor[]')</li>
    <li>Form::text('movie_actor[]')</li>
    ...
</ul>

我已经读到您需要将多字段的验证设置为array。所以我添加了这样的验证规则:

$v = Validator::make(Input::all(), array('title' => 'required', 'movie_actor' => 'array'));

当我输入一些参与者时,将标题留空并提交表单,然后用户被重定向到同一页面,并使用:

return Redirect::route('movies.create')->withInput();

问题是我得到了错误htmlentities() expects parameter 1 to be string, array given

当我从视图中删除actor输入或将actor文本字段更改为选择字段时,填充就会起作用。但那不是我想要的。

如何填充多文本字段?

我也遇到了同样的问题。我还没有弄清楚为什么会发生这种情况,但看起来这些文本输入名称应该是"字符串"而不是数组,这意味着,你应该按照以下方式进行:

<li>Form::text('movie_actor[0]')</li>
<li>Form::text('movie_actor[1]')</li>
<li>Form::text('movie_actor[2]')</li>

不同之处在于,您需要手动向这些名称数组添加索引。