Laravel - 文件的自定义验证不起作用

时间:2013-07-10 23:46:36

标签: php validation laravel laravel-4 customvalidator

我正在尝试在Laravel中使用自定义验证规则进行文件输入。文件输入名称为“photo”。我正在尝试将名为“validate_art”的规则应用于此文件输入。我知道有“图像”验证规则,但我想将自己的自定义规则应用于此文件输入。

以下是代码:

  $rules = array('name'=>'required|unique:user,name','startyear'=>'numeric','endyear'=>'numeric'
    ,'photo'=>'validate_art');
    Validator::extend('validate_art',function($attribute,$value,$parameters){
    // returning false just for testing purpose
    return false;
    });

会发生什么,它根本不会将规则应用于该字段。当我尝试将此规则用于某些其他字段以进行测试时,它可以正常运行。难道我做错了什么?或者自定义验证不能应用于文件输入?请有人,对此有所了解。我真的很感激。

1 个答案:

答案 0 :(得分:0)

首先应修改输入数据

    foreach ($inputs as $k=>$input){
        if($input instanceOf \Symfony\Component\HttpFoundation\File\UploadedFile)
            $inputs[$k]=$_FILES[$k];
    }

然后将$ input发送到验证器$validator=Validator::make($input,$rules)