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 why に問題がありました)。

$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 に答える