VadymSemeniuk / yii2-image-require-validator
验证所需图片的行为
dev-master
2017-03-15 11:45 UTC
Requires
- yiisoft/yii2: *
This package is not auto-updated.
Last update: 2024-09-14 19:36:41 UTC
README
Yii2 Image require validator
用于验证图片的扩展,抛出 EntityToFile 模型
安装
安装此扩展的首选方式是通过 composer。
运行以下命令之一
php composer.phar require --prefer-dist vadymsemeniuk/yii2-image-require-validator "*"
或者
"vadymsemeniuk/yii2-image-require-validator": "*"
将以下内容添加到您的 composer.json
文件的 require 部分中。
用法
用法示例可能如下
您的代码必须看起来像这样
use vadymsemenykv\imageRequireValidator\ImageRequireValidator /** * @property EntityToFile $image */ class Article extends ActiveRecord { public $titleImage; public function getImage() { return $this->hasOne(EntityToFile::className(), ['entity_model_id' => 'id']) ->andOnCondition(['t2.entity_model_name' => static::formName(), 't2.attribute' => EntityToFile::TYPE_ARTICLE_TITLE_IMAGE]) ->from(['t2' => EntityToFile::tableName()]) ->orderBy('t2.position DESC'); } /** * @inheritdoc */ public function rules() { return [ [['titleImage'], ImageRequireValidator::className(), 'errorMessage' => 'Title image cannot be blank.', 'imageRelation' => 'image', 'skipOnEmpty' => false ], ]; } }
如果您保存多个相关图片,并且还希望验证最小或最大图片数量,则您的代码必须看起来像这样
use vadymsemenykv\imageRequireValidator\ImageRequireValidator /** * @property EntityToFile $images */ class Article extends ActiveRecord { public $titleImages; public function getImages() { return $this->hasMany(EntityToFile::className(), ['entity_model_id' => 'id']) ->andOnCondition(['t2.entity_model_name' => static::formName(), 't2.attribute' => EntityToFile::TYPE_ARTICLE_TITLE_IMAGE]) ->from(['t2' => EntityToFile::tableName()]) ->orderBy('t2.position DESC'); } /** * @inheritdoc */ public function rules() { return [ [['titleImages'], ImageRequireValidator::className(), 'errorMessage' => 'Title images cannot be blank.', 'validateNum' => true, 'errorNumMinMessage' => 'Title images count should not be less than 3', 'errorNumMaxMessage' => 'Title images count should not be more than 6', 'minNumOfImages' => 3, 'maxNumOfImages' => 6, 'imageRelation' => 'images', 'skipOnEmpty' => false ], ]; } }