Эта строка проверки не работает. Я мог бы загружать изображения в любом измерении.
['image', 'image', 'minWidth' => 250, 'maxWidth' => 250,'minHeight' => 250, 'maxHeight' => 250],
в контроллере я использую.
$image = UploadedFile::getInstance($this, 'image');
Насколько я вижу, в последней строке нет ничего плохого.
https://github.com/yiisoft/yii2/blob/master/docs/guide/tutorial-core-validators.md#yiivalidatorsimagevalidatorimage-
Но вы объявляете правила для image
атрибут дважды — один как файл, а второй как изображение. Валидатор изображения происходит от валидатора файла, поэтому он наследует все свои свойства.
Валидатор изображений (документы):
Этот валидатор проверяет, представляет ли входное значение допустимый файл изображения. Он происходит от валидатора файла и, таким образом, наследует все его свойства. Кроме того, он поддерживает следующие дополнительные свойства, характерные для проверки изображений:
Попробуйте объединить это в одно правило и посмотрите, поможет ли это.
[
'image',
'image',
'minWidth' => 250,
'maxWidth' => 250,
'minHeight' => 250,
'maxHeight' => 250,
'extensions' => 'jpg, gif, png',
'maxSize' => 1024 * 1024 * 2
],
Редактировать:
И вам нужно сохранить изображение в $model
, лайк $model->image
для его проверки с помощью правил проверки модели, если вы находитесь в контроллере.
Вот хороший пример:
http://www.yiiframework.com/doc-2.0/guide-input-file-upload.html
Других решений пока нет …