2013-07-10 28 views
1

我正在嘗試在Laravel中爲文件輸入使用自定義驗證規則。文件輸入名稱是「照片」。我正在嘗試將一個名爲「validate_art」的規則應用於此文件輸入。我知道有「圖像」驗證規則,但我想將自己的自定義規則應用於此文件輸入。Laravel - 自定義文件驗證不起作用

下面的代碼:

$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; 
    }); 

發生的是,它沒有規則應用到外地的。當我嘗試將此規則用於某個其他字段以進行測試時,它的運行沒有失敗。難道我做錯了什麼?或者自定義驗證不能應用於文件輸入?請有人,在此點亮一些。我真的很感激。

+0

你有沒有開放的形式形式的文件? - > {{Form :: open(['files'=> true,...])} – Andreyco

+0

是的,我做到了。但它仍然不起作用 –

+0

您是否已經制作了'Validator :: make($ input,$ rules)'? –

回答

0

首先你應該修改你的輸入數據

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

然後發送$輸入驗證$validator=Validator::make($input,$rules)