2017-06-11 70 views
-3

我的情況是這樣如何制定規則? Laravel 5.3

我喜歡這樣的觀點:

@for($i = 0; $i < 5; $i++) 
    <input type="hidden" name="photo-{{$i}}"> 
    ... 
@endfor 

我的規則是這樣的:

<?php 
namespace App\Http\Requests; 
use Illuminate\Foundation\Http\FormRequest; 
class CreateProductRequest extends FormRequest 
{ 
    public function authorize() 
    { 
     return true; 
    } 
    public function rules() 
    { 
     return [ 
      ... 
      'photo-0'=> 'required' 
     ]; 
    } 
} 

我的控制器是這樣的:

public function store(CreateProductRequest $request) 
{ 
    dd($request->all()); 
} 

從代碼,名稱照片-0是必需的

但我想讓它dinamically

所以沒有照片0是必需的,但至少有一個照片的

例如光電0是沒有價值的,但照片-3的值,然後它可以運行存儲方法中的語句

我該怎麼辦?

更新

如果我分析它,它似乎會有回報陣列內環路(在規定的方法)。那可能嗎?

我嘗試這樣的:

public function rules() 
{ 
    for($i = 0; $i < 5; $i++){ 
     $photo[] = 'photo-'.$i; 
    } 
    return [ 
     ... 
     'photo'=> 'required' 
    ]; 
} 

但它不工作

回答

0

請檢查下面的視圖和控制器代碼和它的作品,所以你可以根據這個

調整您的視圖代碼查看

<body> 

<form method="post" action="/testingFiles" enctype="multipart/form-data"> 
    {{csrf_field()}} 
    <input type="file" name="filesUpload[]"> 
    <input type="file" name="filesUpload[]"> 
    <input type="file" name="filesUpload[]"> 
    <button type="submit">Submit</button> 

</form> 

@if (count($errors)) 
    <ul> 
     @foreach($errors->all() as $error) 
      <li>{{$error}}</li> 
     @endforeach 
    </ul> 
@endif 

控制器代碼

public function store(Request $request) 
    { 
     $this->validate($request, [ 
      'filesUpload' => 'required' 
     ]); 
     dd($request->all()); 
    } 
+0

您的回答不適合我的情況。我使用隱藏的輸入類型。不是輸入文件類型。在我的情況下,照片不是一個文件,但它是值得一個字符串 –