2017-07-07 16 views
0

私は、ユーザーが1つ以上の画像をアップロードできるようにするこの機能を持っています。私はすでにバリデーションルールを作成していますが、入力が何であってもfalseを返し続けます。複数の画像入力を検証する方法は?

ルール:

public function rules() 
    { 
     return [ 
      'image' => 'required|mimes:jpg,jpeg,png,gif,bmp', 
     ]; 
    } 

アップロード方法:この問題を解決する方法

public function addIM(PhotosReq $request) { 
     $id = $request->id; 
     // Upload Image 
     foreach ($request->file('image') as $file) { 
      $ext = $file->getClientOriginalExtension(); 
      $image_name = str_random(8) . ".$ext"; 
      $upload_path = 'image'; 
      $file->move($upload_path, $image_name); 
      Photos::create([ 
       'post_id' => $id, 
       'image' => $image_name, 
      ]); 
     } 
     //Toastr notifiacation 
     $notification = array(
      'message' => 'Images added successfully!', 
      'alert-type' => 'success' 
     ); 
     return back()->with($notification); 
    } 

? これはすべてありがとうございます!

答えて

1

あなたは次のように複数の画像アップロードフィールド名を持っていると、あなたの入力はイメージがあるでしょう、その内部配列のようになるように、あなたの入力要素

<input type="file" name="image[]" multiple="multiple"> 

multiple属性を追加します。 配列入力の検証には別の方法があるため、docs hereを参照してください。だから、

、あなたはこのような何かを検証する必要があります:

$this->validate($request,[ 
    'image' => 'required', 
    'image.*' => 'mimes:jpg,jpeg,png,gif,bmp', 
]); 

希望は、あなたは、私の一日の感謝を保存

+0

を理解します! –

+0

おめでとう、お元気です。 質問を終了してください –

関連する問題