Yii2 file upload is not validating file type

8.4k Views Asked by At

My Model code,

public function rules()
{
    return [            
        [['image'], 'safe'],
        ['image', 'file', 'types'=>'jpg, gif, png'],
    ];
}

Use Apartfrom types,validation message not display document save in database

1

There are 1 best solutions below

3
On

To validate file type you should use property $extensions of FileValidator.

public function rules()
    {
        return [

            [['image'], 'safe'],
            [['image'], 'file', 'extensions'=>'jpg, gif, png'],
        ];
    }

Update

Ok, I've got this. Please check one more time the source link, especially the controller section. To validate your model, you have to use validate() function.

Example code:

$model->file = UploadedFile::getInstance($model, 'file');

if ($model->file && $model->validate()) {                
    $model->file->saveAs('uploads/' . $model->file->baseName . '.' . $model->file->extension);
}

Source.