0

我有一个这样的表单,它可以有多个 images[] 字段:

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

如何使用 laravel 4 验证来验证此字段?我尝试了这个规则,但没有奏效:

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

2 回答 2

2

尝试这样的事情:

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

根据这里的答案

从这里使用验证器

于 2013-10-10T20:05:09.237 回答
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 类型......所以它很脆弱。

于 2013-10-11T03:59:35.150 回答