0
私はLaravel 5.4を使用しています。 私の作成フォームは複数言語用の複数のフィールドです。私のフォームのフィールドの名前は変数です:laravelで変数名でフォームを検証できません。5.4
{!! Form::open(['route' => 'pages.store','files'=>true]) !!}
@if(isset($languages) && $languages->count() > 0)
@foreach($languages as $language)
<div class="form-group">
{!! Form::label('subject_'.$language->code, 'subject in '.$language->name) !!}
<div class="form-line">
{!! Form::text('subject_'.$language->code,old('subject'),['class'=>'form-control']) !!}
</div>
</div>
<div class="form-group">
<!-- TinyMCE -->
{!! Form::textarea('content_'.$language->code,'',['class'=>'tinymce']) !!}
<!-- #END# TinyMCE -->
</div>
@if (!$loop->last)
<hr class="style18">
@endif
@endforeach
<div class="form-group">
{!! Form::submit('save change',['class'=>'btn btn-primary']) !!}
</div>
{!! Form::close() !!}
と私のコントロールコード:
public function store(Request $request)
{
$validator = Validator::make($request->all(), [
'subject' => 'required|max:255',
'content' => 'required|max:255',
]);
$languages = Languages::all();
$page = new Page();
$page->save(); // Eloquent
foreach ($languages as $language) {
$pageTrans = new PageTrans();
$pageTrans['page_id']= $page->id;
$pageTrans['locale'] = $language->locale;
$pageTrans['subject'] = $request->input('subject_' . $language->code);
$pageTrans['content'] = $request->input('content_' . $language->code);
$pageTrans->save(); // Eloquent
}
return redirect(route('pages.index'));
}
しかしvalidatに問題はなくフェイルド名前を検出します。これを行うためのソリューションまたはよりよい方法をご存じですか?