在Laravel 5.1中提交带有文件输入返回验证错误的表单。*

时间:2015-09-04 08:21:55

标签: laravel laravel-5 laravel-5.1

我有这个表格

<form class="" enctype="multipart/form-data" action="{{route('submit_prop')}}" method="POST">
<div class="margin-btm-sm">
    <label>Main Image</label>
    <input type="file" name="main_img" class="form-control" />
</div>

  <div class="margin-btm-sm">
    <button type="submit" class="btn btn-primary">Save</button>
</div>
</form>

提交表单时,请求数组(POST数组)为空。但是当从表单

中删除enctype =“multipart / form-data”时
<form class="" action="{{route('submit_prop')}}" method="POST">

请求数组包含数据。

控制器方法:

   function submit(SubmitPropRequest $request, $id=null) {
              dd(\Request::all());
   }

请求控制器:

 public function rules()
{  
         dd(\Request::all());  
    return [
        'main_img' => 'image|mimes:png,jpg,jpeg',
    ];
}

问题是什么?我知道提交文件时必须使用enctype。我在Laravel 5.0中使用它,一切都很好,为什么ij Laravel 5.1不起作用。

1 个答案:

答案 0 :(得分:0)

使用laravel 5.1时,您应该使用:

dd(\Request::all());

或者获取文件:

dd(\Request::file('main_img));

获取具体信息:

dd(\Request::input('example_input_field'));

代码看起来像这样:

    {!! Form::open(array(
            'url'   => url('upload'),
            'method'=> 'POST',
            'files' => true)) 
    !!}

    {!! Form::file('file', array('type'=>'file')) !!}

    {!! Form::close() !!}

警告:此示例表单使用:"illuminate/html": "~5.0", package