Forms Laravel:多文件上载,输入::hasFile(键)始终为false

Forms Laravel:多文件上载,输入::hasFile(键)始终为false,forms,validation,file-io,laravel,Forms,Validation,File Io,Laravel,我用以前的生成器工具从中生成了一个多上传表单 这导致 <input multiple="true" accept="image/*" required="true" id="file[]" type="file" name="file[]"> 当然,验证程序总是失败,因为Input::get('file')不返回文件对象。如何修改代码以捕获提交的文件?谢谢您的帮助,Kestutis的回答很清楚。在Laravel中定义文件表单的常用方法是 echo Form::open(array(

我用以前的生成器工具从中生成了一个多上传表单

这导致

<input multiple="true" accept="image/*" required="true" id="file[]" type="file" name="file[]">

当然,验证程序总是失败,因为Input::get('file')不返回文件对象。如何修改代码以捕获提交的文件?

谢谢您的帮助,Kestutis的回答很清楚。在Laravel中定义文件表单的常用方法是

echo Form::open(array('url' => 'foo/bar', 'files' => true))
此选项使用enctype='multipart/form data'设置正确的加密类型

使用laravel表单生成器“前”,您必须使用

Former::open_for_files()
之后,你可以用普通的方式验证表单

if(Input::hasFile('files')) {
            Log::info(Input::File('files'));
            $rules = array(
                ...
            );

            if(!array(Input::File('files')))
                $rules["files"] = 'required|image';
            else 
                for($i=0;$i<count(Input::File('files'));$i++) {
                    $rules["files.$i"] = 'required|image';
                }

            $validation = Validator::make(Input::all(), $rules);

            if ($validation->fails()) 
            {
                return ...
            }
            else {
                // everything is ok ...
            }
if(输入::hasFile('files')){
日志::信息(输入::文件('files'));
$rules=数组(
...
);
如果(!数组(输入::文件('files'))
$rules[“文件”]=“必需|图像”;
其他的
对于($i=0;$ifails())
{
返回。。。
}
否则{
//一切都很好。。。
}

是否使用
'files'=>true打开表单?我从未见过此选项,但我尝试了一下,不幸的是,它没有更改设置正确加密类型的结果(
enctype='multipart/form data'
)如果你试图上传文件,这是必要的,更多关于这一点。这里有一篇文章可能会有所帮助,但我不确定它是否回答了你的问题:
Former::open_for_files()
if(Input::hasFile('files')) {
            Log::info(Input::File('files'));
            $rules = array(
                ...
            );

            if(!array(Input::File('files')))
                $rules["files"] = 'required|image';
            else 
                for($i=0;$i<count(Input::File('files'));$i++) {
                    $rules["files.$i"] = 'required|image';
                }

            $validation = Validator::make(Input::all(), $rules);

            if ($validation->fails()) 
            {
                return ...
            }
            else {
                // everything is ok ...
            }