0
我使用Laravel 5.3和相同的刀片视图创建/编辑casa(葡萄牙语房屋)和contato(葡萄牙语联系)。Laravel - 不接收来自嵌套输入的字段
我有一个表格提交到2个表格(contatos
casas
)。它工作正常,直到我改变了前6个字段中的name
(表contatos
)。
它是:
{!! Form::text('nome_contato') !!}
现在是:
{!! Form::text('contato[nome_contato]') !!}
我不得不这样做,因为第一个未填充的输入进行编辑。但现在它告诉我,即使它们不是空的,它们也是空的。
CasaRequest.php↓↓
public function rules()
{
return [
'nome_contato' => 'required|max:255',
'telefone' => 'required|numeric|digits_between:10,11',
'celular1' => 'required|numeric|digits_between:10,11',
'celular2' => 'numeric|digits_between:10,11',
'celular3' => 'numeric|digits_between:10,11',
'skype' => 'max:255',
'nome' => 'required|max:100',
'descricao' => 'required|min:50|max:2000',
'endereco' => 'required|max:255',
'numero' => 'numeric|min:0',
'bairro' => 'required|max:100',
(etc........)
];
}
creteedit.blade.php↓↓
@if(isset($casa))
{!! Form::model($casa, ['route' => ['casas.update', $casa->id], 'method' => 'put', 'class' => 'register']) !!}
@else
{!! Form::open(['route' => 'casas.store', 'class' => 'register']) !!}
@endif
<!-- First step Contatos -->
<div class="row">
<div class="form-group row">
<div class="col l2 offset-l1">
Nome para contato
</div>
<div class="col l8">
{!! Form::text('contato[nome_contato]') !!}
<span class="red-text text-lighten-1">{!!$errors->first('nome_contato')!!}</span>
</div>
</div>
<div class="form-group row">
<div class="col l2 offset-l1">
Telefone
<div class="col l8">
{!! Form::text('contato[telefone]') !!}
<span class="red-text text-lighten-1">{!!$errors->first('telefone')!!}</span>
</div>
</div>
<div class="form-group row">
<div class="col l2 offset-l1">
Celular 1
<div class="col l8">
{!! Form::text('contato[celular1]') !!}
<span class="red-text text-lighten-1">{!!$errors->first('celular1')!!}</span>
</div>
</div>
<div class="form-group row">
<div class="col l2 offset-l1">
Celular 2
</div>
<div class="col l8">
{!! Form::text('contato[celular2]') !!}
<span class="red-text text-lighten-1">{!!$errors->first('celular2')!!}</span>
</div>
<!-- Here comes more fields from the table `contatos` -->
<!-- Second step Casas -->
<div class="form-group row">
<div class="col l2 offset-l1">
<label class="right">Nome<span class="red-text">*</span></label>
</div>
<div class="col l8">
{!! Form::text('nome') !!}
<span class="red-text text-lighten-1">{!!$errors->first('nome')!!}</span>
</div>
</div>
<div class="form-group row">
<div class="col l2 offset-l1">
<label class="right">Descrição<span class="red-text">*</span></label>
</div>
<div class="col l8">
{!! Form::textarea('descricao') !!}
<span class="red-text text-lighten-1">{!!$errors->first('descricao')!!}</span>
</div>
</div>
<div class="form-group row">
<div class="col l2 offset-l1">
<label class="right">Endereço <span class="red-text">*</span></label>
</div>
<div class="col l5">
{!! Form::text('endereco') !!}
<span class="red-text text-lighten-1">{!!$errors->first('endereco')!!}</span>
</div>
<div class="col l1 offset-l1 ">
<label class="right">Número</label>
</div>
<div class="col l1">
{!! Form::text('numero') !!}
<span class="red-text text-lighten-1">{!!$errors->first('numero')!!}</span>
</div>
</div>
从第二步骤中的字段的工作,只从第一步骤都没有,因为他们的name
:contato[field_name]
。
太感谢你了,我不知道。只是想补充一点,我已经改变了显示错误的那一行'{!! $ errors-> first('contato.nome_contato')!!} – GabrielFiel
不客气;) – OuailB
有没有办法请求所有输入不需要指定字段?像:'$ dataForm = $ request-> all();'但我也需要嵌套的输入。谢谢 – GabrielFiel