2017-09-27 58 views
9

Kontrol işlevi:Laktasyona yerleştirilen görüntü dizisi nasıl doğrulanır ve doğrulama değerine göre enum değeri eklenmelidir?

public function addImages(Request $request,$imagesProductId) 
{ 
    $product = Product::create($request->all()); 
    $filenames = array(); 

    if ($request->images == '') { 
     return Redirect::back()->withErrors(['msg', 'The Message']); 
    } 

    if() { 
    // also need to validate on the extension and resolution of images 
    // (ie., if the validation fails the enum value will be "QCFailed") 
    } else { 
     foreach ($request->images as $photo) { 
      $filename = substr($photo->store('public/uploadedImages'), 22); 
      $filenames[] = asset('storage/uploadedImages/'.$filename); 

      ProductsPhoto::create([ 
       'product_id' => $product->id, 
       'productId'  => $imagesProductId, 
       'nonliveStatus' =>"QCVerified", 
       'filename'  => $filename 
      ]); 
     } 

     // echo('nonliveStatus'); 
    } 

    return response()->json($filenames); 
} 

Bu, görüntü iki modelinde dizisi sokulmuştur numaralama değeri sırasıyla yerleştirilmiş olmalıdır doğrulama göre olsun kullandık images.For dizisi eklemek için işlevim olan .. Doğrulama kodum, görüntülerin tahmini ve maksimum yükleri.

+0

kimse ??? ...... –

cevap

2

Laravel 5.4 documentation uyarınca kural kümesini kullanarak doğrulayıcı nesne oluşturmanız gerekir. Böyle bir şey:

public function addImages(Request $request, $imagesProductId) 
{ 
    $product = Product::create($request->all()); 
    $filenames = array(); 

    if (empty($request->images)) { 
     return Redirect::back()->withErrors(['msg', 'The Message']); 
    } 

    $rules = [ 
     'images' => 'mimes:jpeg,jpg,png'     // allowed MIMEs 
      . '|max:1000'        // max size in Kb 
      . '|dimensions:min_width=100,min_height=200' // size in pixels 
    ]; 

    $validator = Validator::make($request->all(), $rules); 
    $result = $validator->fails() ? 'QCFailed' : 'QCVerified'; 

    foreach ($request->images as $photo) { 
     $filename = substr($photo->store('public/uploadedImages'), 22); 
     $filenames[] = asset('storage/uploadedImages/'.$filename); 

     ProductsPhoto::create([ 
      'product_id' => $product->id, 
      'productId'  => $imagesProductId, 
      'nonliveStatus' => $result, 
      'filename'  => $filename 
     ]); 
    } 

    return response()->json($filenames); 
} 
İlgili konular