我正在Laravel中构建一个接收动态输入的表单。用户可以在输入文本中添加链接,但是可以根据需要选择添加更多链接。该功能是使用jquery开发的。问题是,当我尝试保存表单(提交)时,出现此错误消息。
helpers.php第531行中的ErrorException:
htmlentities()期望参数1为字符串,为给定数组(视图:C:\ Users \ jkabbas \ Documents \ GitProects \ rastro \ src \ resources \ views \ arquiteturas \ novo.blade.php)
这是laravel页面中的代码摘录,这引起了问题。当我从[]
中删除方括号name="txt-link[]"
时,错误消息消失了,但是我需要使用数组,因为我正在处理多个输入。
<td>
<input type="text" placeholder="Digite o link da arquitetura" class="form-control" id="txt-link" name="txt-link[]" value="{{old('txt-link')}}" style="width: 730px;">
@if($errors->has('txt-link'))
@foreach ($errors->get('txt-link') as $message)
<span class="help-block" style="margin-top:5px; margin-bottom:-5px; color:rgb(170, 56, 56)">
<b>{{ $message }}</b>
</span>
@endforeach
@endif
</td>
后端代码
function store(Request $request) {
$this->validate($request, [
'combo_produto'=>['not_in:0'],
'combo_projeto'=>['not_in:0'],
'txt-link[]'=>['required'],
]);
$save_arquitetura = Arquitetura::create([
'produto_id' =>$request['combo_produto'],
'projeto_id' =>$request['combo_projeto'],
]);
return redirect('/arquiteturas')->with('msg_success', 'Dados salvos com sucesso!');
}
答案 0 :(得分:2)
这是由value="{{old('txt-link')}}"
引起的。当您上传多个文件并返回所有旧输入时,您的后端发生了某种错误,但您value="{{old('txt-link')}}
在这里不进行处理。这就是 htmlentities()期望参数1为字符串,给出数组的原因