在laravel 4中验证输入文件图像数组

时间:2013-10-10 19:35:51

标签: php validation laravel laravel-4

我有一个这样的表格,可以有多个图片[]字段:

{{ Form::open(array('url' => 'foo/bar', 'files' => true)) }}
    <input type="file" name="images[]">
{{ Form::close() }}

如何使用laravel 4验证来验证此字段? 我试过这个规则,但它不起作用:

$rules = array('images[]' => 'required|image');

2 个答案:

答案 0 :(得分:2)

尝试这样的事情:

$rules = array(
    'images'     => 'required|min:1|integerOrArray'
);

根据答案here

使用here

中的验证器

答案 1 :(得分:1)

首先,你是在循环中运行“images []”吗? laravel 4有很多实际上根本不起作用的代码示例......编写它们的人不知道如何使用var_dump()......

如果没有 - 您可能正在对一组对象进行验证,请尝试检查:

var_dump(Input::file('files'));

所以现在在这个讲座之后,让我们运行一个for循环(有一些关于foreach idk的问题):

$files = Input::file('images');
$filesCount = count($files);

for ($i=0; $i < $filesCount; $i++)
{
    $file = $files[$i];
    $input = array(
        'upload' => $files[$i]
    );

    $rules = array(
        'upload' => 'image|max:15500'
    );
    $validation = Validator::make($input, $rules);
}

现在您可以运行验证了。 Laravel4只尝试有效的mime类型......所以它易受攻击。