Laravel Validator::setFiles() 是未定义的,为什么?

Laravel Validator::setFiles() is undefined why?

我正在尝试验证上传的图像,但收到 setFiles() 方法未定义的错误。但该方法确实存在,我已经在验证器 class 中验证并检查了文档。

setFiles API Documentation

// Process Image Uploads
if (Input::hasFile('images')) {
    // Validate Images
    $validate = new Validator;
    $validate->setFiles(Input::file('images'));
    $validate->setRules('max:20000|mimes:jpeg');

    if ($validate->passes()) 
        return 'Passes';
    else
        return 'Fails';
}

错误

Call to undefined method Illuminate\Support\Facades\Validator::setFiles()

在此先感谢您提供的任何帮助。

老实说,API 文档中写的东西很难理解。我曾经阅读 laravel 文档,尽管文档不够完美。

http://laravel.com/docs/4.2/validation

您应该通过静态方法 make 而不是构造函数来使用实例验证器。所以它应该是这样的。

// Validate Images
$rules = ['images' => 'max:20000|mimes:jpeg'];
$validate = Validator::make(Input::all(),$rules);
// process the form
if ($validator->fails()) {
    var_dump($validator->errors());  // it will print the error logs for you.
} else {
    return 'success';
}