2017-09-27 61 views
9

नियंत्रक समारोह:लार्वेल में डाली गई छवियों की सरणी को कैसे सत्यापित करें और सत्यापन के आधार पर enum मान डालने की आवश्यकता है?

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); 
} 

यह है कि मैं छवियों के दो model.The सरणी डाला लेकिन सत्यापन enum मूल्य क्रमश डाला जाना चाहिए के आधार पर करने के लिए प्रयोग किया जाता है images.For की सरणी डालने के लिए myfunction है .. मेरी मान्यताओं छवियों की आवश्यकता है और अधिकतम आकार और इसके एक्सटेंशन

+0

कोई भी ??? ...... –

उत्तर

2

Laravel 5.4 documentation के अनुसार आपको नियमों के सेट के साथ सत्यापनकर्ता वस्तु बनाने की आवश्यकता है। कुछ ऐसा:

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); 
} 
संबंधित मुद्दे