2015-11-06 62 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);    
}