2017-01-30 15 views
1

に空である:チェック配列は、私は2つの入力テキストでLaravelを使用してフォームを持っているPHP

<div class="col-md-6"> 
    <div class="form-group"> 
     {!! Form::label('price', 'Preço') !!} 
     <div class="input-group multi-control-group"> 
      <span class="input-group-addon">De</span> 
      {!! Form::text('price[]', null, ['class' => 'form-control']) !!} 
      <span class="input-group-addon">Até</span> 
      {!! Form::text('price[]', null, ['class' => 'form-control']) !!} 
     </div> 
    </div> 
</div> 

これは、検証のための私の関数である。

if(!empty($request->year)) { 
    dd($request->year); 
} 

しかしときの設定値なしで配列をフォームを送信します検証では空のパスであり、2つの位置に値はありません。

array:2 [▼ 
    0 => "" 
    1 => "" 
] 

この配列の検証に失敗します。この検証方法

+0

すべての要素で 'empty'をチェックし、少なくとも1つが空でない場合にのみtrueを返します。 – Antony

答えて

0

テキスト入力は空の場合でも送信されます。これらを配列に格納するので、空の要素ですが、配列が空でないようにする要素もあります。空の要素をフィルタリングして、チェック:

if(!empty(array_filter($request->year))) { 
    dd($request->year); 
} 

は、文字列0が同様に除外されますのでご注意ください。それが問題の場合は、配列をループして""をチェックするなどの別の方法が必要です。

関連する問題