2016-04-22 89 views
1

表單是文件上傳器。如果在MIME類型上驗證失敗,Laravel不會給我錯誤。如果輸入失敗,它會給我錯誤的上傳頁面。它看起來像驗證是正確的,但它只是不會給我回錯誤,如果MIME類型是錯誤的,因爲它不上載文件,如果文件是錯誤的。Laravel表單MIME類型驗證

路線

Route::post('/newfile', function (Request $request) { 

$validator = Validator::make($request->all(), [ 
    'userFile' => 'required|mimes:zip', 
]); 

if ($validator->fails()) { 
    return redirect('/upload') 
     ->withErrors($validator); 
} else { 

視圖

@include('errors.errors') 

<form action="{{ url('newfile') }}" method="POST" id="uploadForm" class="form-horizontal" enctype="multipart/form-data"> 
    {!! csrf_field() !!} 

    <div class="input-group"> 
       <span class="input-group-btn"> 
        <span class="btn btn-primary btn-file"> 
         Browse&hellip; <input name="userFile" id="userFile" type="file" /> 
        </span> 
       </span> 
     <input type="text" class="form-control" readonly> 
    </div> 

    <div> 
     <button type="submit" id="btnSubmit" value="Submit" class="btn btn-success">Upload</button> 

     <div class="progress"> 

     </div> 
    </div> 
</form> 

錯誤

@if (count($errors) > 0) 
     <!-- Form Error List --> 
<div class="alert alert-danger"> 
    <strong>Whoops! Something went wrong!</strong> 

    <br><br> 

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

回答

0

固定的,我上傳的javascript代碼驗證阻止錯誤。