2017-01-11 11 views
2

私はフィールド「画像」を持っています。タイプはファイルで、画像が選択されているかどうかを確認するだけで済みます。"画像/ファイル"が選択されている場合、フィールドのラーバル検証?

私はそれを試しました:'avatar' => 'mimes:jpeg,jpg,png,gif|max:100000',しかしそれも必要です。

パラメータpresentsometimesでまだ試しましたが、フィールドはまだ必要です。

イメージが選択されている場合のみ、どのように検証できますか?

答えて

3
  • "アバター"フィールドあなたが使用したい入力配列の存在しないかもしれない場合:

'avatar' => 'sometimes|mimes:jpeg,jpg,png,gif|max:100000'

でいくつかの状況で、あなたはw ishは、フィールドが入力配列に存在する場合にのみ、そのフィールドに対して妥当性チェックを実行します。これを速やかに達成するには、時にはルールを追加します。


  • "アバター"フィールドは絶対に入力配列になりますし、それはあなたが使用したいnull値はその後になります場合:

'avatar' => 'nullable|mimes:jpeg,jpg,png,gif|max:100000'

有効なフィールドはnullです。これは、ヌル値を含むことができる文字列や整数などのプリミティブを検証する場合に特に便利です。これを速やかに実行するには、nullableルールを追加します。あなたのケースでは

1

、あなたはそれがnullで存在かない場合にのみチェックする必要があります - 値がある場合を検証。だから、いくつかの状況では、」sometimes

を使用するには、そのフィールドは、入力配列中に存在する場合にのみ フィールドに対して検証チェックを実行したいことがあります。すぐに はこれを実現するために、「時々、自分のルールリストにルールあなたのケースで

$v = Validator::make($data, array(
     'email' => 'sometimes|required|email', 
    )); 

を追加し、

$v = Validator::make($data, array(
     'avatar' => 'sometimes|mimes:jpeg,jpg,png,gif|max:100000', 
    )); 

注:

次のコードはので何もしません検証するルールはありません。POST配列に存在していてもルールを指定する必要があり、違いはありません。

$v = Validator::make($data, array(
    'avatar' => 'sometimes', 
)); 
0

最初に$requestオブジェクトを確認します。 Check avatarがご利用可能かどうかをご確認ください。次に試してください:

'avatar' => 'sometimes|image|mimes:jpeg,bmp,png,gif|max:2048' 
関連する問題