我正在开发一个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文本字段以选择字段时,填充工作。但这不是我想要的。
如何填充多文本字段?
答案 0 :(得分:1)
我也有同样的问题。我还没弄清楚为什么它会发生,但看起来那些文本输入名称应该是“字符串”而不是数组,这意味着,你应该这样做:
<li>Form::text('movie_actor[0]')</li>
<li>Form::text('movie_actor[1]')</li>
<li>Form::text('movie_actor[2]')</li>
您需要手动为这些名称数组添加索引。