2015-11-06 54 views
-1

我用卡爾蒂克的自定義文件輸入它工作正常,我只是確認,這是從我採取這一擴展 https://github.com/kartik-v/yii2-widget-fileinput 這裏是我的代碼參考網站,如何驗證自定義文件輸入yii2

echo '<label class="control-label">Video</label>'; 
     echo FileInput::widget([ 
      'model' => $model, 
      'attribute' => 'VideoURL', 
      'options' => ['multiple' => false], 
      'pluginOptions' => [ 
       'allowedFileExtensions'=>['mp4'], 
       'showPreview' => false, 
       'showRemove' => false, 
       'showUpload' => false, 
       'minFileCount' => 1 
      ], 
    ]); 

現在我如何才能驗證它,如果文件輸入是空白的?任何人都可以告訴我這是什麼解決方案?

+0

您是否在尋找[skipOnEmpty(HTTP: //www.yiiframework.com/doc-2.0/guide-input-validation.html#handling-empty-inputs)? – Beowulfenator

回答

0

你只是在你的模型文件添加驗證likee

public function rules() 
{ 
    return [   
     [['VideoURL'], 'required'], 
    ]; 
} 
1

可以在Yii2使用AdHoc方法,在你的行動嘗試這個辦法:

/* @var $validator \yii\validators\FileValidator */ 
/* @var $file yii\validators\FileValidator */ 

$validator = new FileValidator(['extensions' => ['png','jpg']]); //set allowed file types and other file extensions 

$file = UploadedFile::getInstanceByName('avatar'); // it should be your input name attribute 

if($validator->validate($file, $errors)) { // Validating here 
      //validation success 
} else { 
      print_r($error);    
}