【问题标题】:How to validate custom file input in yii2如何在 yii2 中验证自定义文件输入
【发布时间】:2015-11-06 05:59:52
【问题描述】:

我使用了 kartik 的自定义文件输入,除了验证之外它对我来说工作正常,这是我获取此扩展名的参考站点 https://github.com/kartik-v/yii2-widget-fileinput 这是我的代码,

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
            ],
    ]);

现在,如果文件输入为空白,我该如何验证它?谁能告诉我这是什么解决方案?

【问题讨论】:

标签: yii2 yii2-advanced-app yii2-extension


【解决方案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);            
}

【讨论】:

    【解决方案2】:

    您只需在模型文件中添加验证即可

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-04
      • 2017-01-03
      • 2016-01-22
      • 2019-08-13
      • 1970-01-01
      • 2018-01-05
      • 1970-01-01
      相关资源
      最近更新 更多