2017-07-07 74 views
0

我有這個功能,可以讓用戶上傳一張或多張圖片。我已經創建了驗證規則,但不管輸入是什麼,它都會返回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

你有多個圖片上傳字段名等,並添加multiple屬性的input元素

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

這樣,你的輸入是像數組,其內部具有將圖像。 由於數組輸入驗證有不同的方法,請參閱文檔here

因此,您必須驗證是這樣的:

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

希望,你明白

+0

你救了我的一天,謝謝! –

+0

恭喜兄弟,感覺很好,它幫助你。 所以,請關閉問題 –