2017-09-27 69 views
9

điều khiển chức năng:Làm cách nào để xác thực mảng hình ảnh được chèn vào trong laravel và cần chèn giá trị enum dựa trên xác thực?

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

Đây là myfunction để chèn mảng của images.For mà tôi đã sử dụng hai model.The loạt các hình ảnh được chèn nhưng dựa trên xác nhận giá trị enum nên chèn tương ứng .. Xác thực của tôi là hình ảnh được yêu cầu và kích thước tối đa và các tiện ích mở rộng của nó

+0

bất cứ ai ??? ...... –

Trả lời

2

Theo Laravel 5.4 documentation bạn cần phải tạo đối tượng trình xác thực có tập hợp các quy tắc. Một cái gì đó như thế này:

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); 
} 
Các vấn đề liên quan