htmlspecialchars() 期望参数 1 为字符串,数组给定
htmlspecialchars() expects parameter 1 to be string, array given
我有一个表格,如果我提交包含所有正确数据的表格,一切都会非常顺利...但是如果我故意制造任何缺陷
(验证例如'title' => 'required|min:2'
)
并且我只输入了一个字符作为标题,或者如果我遗漏了任何必填字段,我会收到此错误消息:
htmlspecialchars() expects parameter 1 to be string, array given
我发现问题出在这个 select 框
{!! Form::select('item[0][]', $items, null, ['class' => 'form-control', 'required']) !!}
我什至尝试使用没有表单助手的普通 select 框 {!! !!}
但我仍然得到同样的错误!
所以当存在嵌套数组时,问题出在验证的某个地方....有没有办法解决这个问题?
好的,我终于找到了这个问题的答案....似乎 Laravel 5.3 中发生了一些变化,如果你想使用这样的数组命名
{!! Form::label('title', '* Eventname: ', ['class' => 'control-label']) !!}
{!! Form::text('title[]', null, ['class' => 'form-control', 'required') !!}
您必须将 [0] 内容放在方括号 'indices' 中,如下所示:
{!! Form::text('title[0]', null, ['class' => 'form-control', 'required') !!}
然后在验证中使用
标题。*
规则
更新
因为我使用可以扩展的动态表单并添加了新的表单字段(可选),所以我需要为名称添加 [] 数组符号,但实际上如果您已经硬编码了许多具有相同名称的字段,例如 item[ ]
你不必在里面放 [0] 个索引。验证对他们有用。
仅当您只有一个输入字段并且在名称中放置 [] 数组符号时才会出现问题,例如 'item[]'
如果任何验证规则被破坏,这将触发错误...
我有一个表格,如果我提交包含所有正确数据的表格,一切都会非常顺利...但是如果我故意制造任何缺陷
(验证例如'title' => 'required|min:2'
)
并且我只输入了一个字符作为标题,或者如果我遗漏了任何必填字段,我会收到此错误消息:
htmlspecialchars() expects parameter 1 to be string, array given
我发现问题出在这个 select 框
{!! Form::select('item[0][]', $items, null, ['class' => 'form-control', 'required']) !!}
我什至尝试使用没有表单助手的普通 select 框 {!! !!}
但我仍然得到同样的错误!
所以当存在嵌套数组时,问题出在验证的某个地方....有没有办法解决这个问题?
好的,我终于找到了这个问题的答案....似乎 Laravel 5.3 中发生了一些变化,如果你想使用这样的数组命名
{!! Form::label('title', '* Eventname: ', ['class' => 'control-label']) !!}
{!! Form::text('title[]', null, ['class' => 'form-control', 'required') !!}
您必须将 [0] 内容放在方括号 'indices' 中,如下所示:
{!! Form::text('title[0]', null, ['class' => 'form-control', 'required') !!}
然后在验证中使用
标题。*
规则
更新
因为我使用可以扩展的动态表单并添加了新的表单字段(可选),所以我需要为名称添加 [] 数组符号,但实际上如果您已经硬编码了许多具有相同名称的字段,例如 item[ ] 你不必在里面放 [0] 个索引。验证对他们有用。
仅当您只有一个输入字段并且在名称中放置 [] 数组符号时才会出现问题,例如 'item[]'
如果任何验证规则被破坏,这将触发错误...