2016-04-22 11 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のコードはバリデータからエラーを阻止しました。

関連する問題