L4:填充多个文本输入

时间:2013-11-22 11:40:57

标签: php forms validation laravel-4 populate

我正在开发一个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文本字段以选择字段时,填充工作。但这不是我想要的。

如何填充多文本字段?

1 个答案:

答案 0 :(得分:1)

我也有同样的问题。我还没弄清楚为什么它会发生,但看起来那些文本输入名称应该是“字符串”而不是数组,这意味着,你应该这样做:

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

您需要手动为这些名称数组添加索引。