此验证行不起作用。我可以在任何方面上传图片。
['image', 'image', 'minWidth' => 250, 'maxWidth' => 250,'minHeight' => 250, 'maxHeight' => 250],
在控制器中,我使用。
$image = UploadedFile::getInstance($this, 'image');
答案 0 :(得分:7)
据我所知,最后一行没有任何问题。 https://github.com/yiisoft/yii2/blob/master/docs/guide/tutorial-core-validators.md#yiivalidatorsimagevalidatorimage-
但是你要为image
属性声明两次规则 - 一个作为文件,一个作为图像。图像验证器从文件验证器扩展,因此它继承了它的所有属性。
图片验证器(docs):
此验证器检查输入值是否表示有效的图像文件。它从文件验证器扩展,因此继承了它的所有属性。此外,它还支持以下用于图像验证的附加属性:
尝试将其合并到一个规则中,看看是否有帮助。
[
'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