# ImageValidator

> ImageValidator verifies if an attribute is receiving a valid image.

[API reference](/docs/api/index.md) › [yii](/docs/api/yii/index.md) › [validators](/docs/api/yii/validators/index.md) › ImageValidator

| class | `yii\validators\ImageValidator` |
| --- | --- |
| Extends | [`FileValidator`](/docs/api/yii/validators/filevalidator/index.md) » [`Validator`](/docs/api/yii/validators/validator/index.md) » [`yii\base\Component`](/docs/api/yii/base/component/index.md) » [`yii\base\BaseObject`](/docs/api/yii/base/baseobject/index.md) |
| Implements | [`yii\base\Configurable`](/docs/api/yii/base/configurable/index.md) |
| Since | 2.0 |
| Source | [`framework/validators/ImageValidator.php`](https://github.com/yiisoft/yii2/blob/22.0/framework/validators/ImageValidator.php#L21) |

ImageValidator verifies if an attribute is receiving a valid image.

## Properties

| Property | Type | Description | Defined by |
| --- | --- | --- | --- |
| <span id="property-attributeNames"></span>[`$attributeNames`](/docs/api/yii/validators/validator/index.md#property-attributeNames) read-only | `array` | Attribute names. | [`Validator`](/docs/api/yii/validators/validator/index.md) |
| <span id="property-attributes"></span>[`$attributes`](/docs/api/yii/validators/validator/index.md#property-attributes) | `array\|string` | Attributes to be validated by this validator. Default: `[]`. | [`Validator`](/docs/api/yii/validators/validator/index.md) |
| <span id="property-behaviors"></span>[`$behaviors`](/docs/api/yii/base/component/index.md#property-behaviors) read-only | `array<`[`yii\base\Behavior`](/docs/api/yii/base/behavior/index.md)`<static>>` | List of behaviors attached to this component. | [`yii\base\Component`](/docs/api/yii/base/component/index.md) |
| <span id="property-builtInValidators"></span>[`$builtInValidators`](/docs/api/yii/validators/validator/index.md#property-builtInValidators) static | `array` | List of built-in validators (name => class or configuration) Default: `['boolean' => 'yii\validators\BooleanValidator', 'captcha' => 'yii\captcha\CaptchaValidator', 'compare' => 'yii\validators\CompareValidator', 'date' => 'yii\validators\DateValidator', 'datetime' => ['class' => 'yii\validators\DateValidator', 'type' => \yii\validators\DateValidator::TYPE_DATETIME], 'time' => ['class' => 'yii\validators\DateValidator', 'type' => \yii\validators\DateValidator::TYPE_TIME], 'default' => 'yii\validators\DefaultValueValidator', 'double' => 'yii\validators\NumberValidator', 'each' => 'yii\validators\EachValidator', 'email' => 'yii\validators\EmailValidator', 'exist' => 'yii\validators\ExistValidator', 'file' => 'yii\validators\FileValidator', 'filter' => 'yii\validators\FilterValidator', 'image' => 'yii\validators\ImageValidator', 'in' => 'yii\validators\RangeValidator', 'integer' => ['class' => 'yii\validators\NumberValidator', 'integerOnly' => true], 'match' => 'yii\validators\RegularExpressionValidator', 'number' => 'yii\validators\NumberValidator', 'required' => 'yii\validators\RequiredValidator', 'safe' => 'yii\validators\SafeValidator', 'string' => 'yii\validators\StringValidator', 'trim' => ['class' => 'yii\validators\TrimValidator', 'skipOnArray' => true], 'unique' => 'yii\validators\UniqueValidator', 'url' => 'yii\validators\UrlValidator', 'ip' => 'yii\validators\IpValidator']`. | [`Validator`](/docs/api/yii/validators/validator/index.md) |
| <span id="property-checkExtensionByMimeType"></span>[`$checkExtensionByMimeType`](/docs/api/yii/validators/filevalidator/index.md#property-checkExtensionByMimeType) | `bool` | Whether to check file type (extension) with mime-type. Default: `true`. | [`FileValidator`](/docs/api/yii/validators/filevalidator/index.md) |
| <span id="property-clientScript"></span>`$clientScript` | `array\|`[`yii\validators\client\ClientValidatorScriptInterface`](/docs/api/yii/validators/client/clientvalidatorscriptinterface/index.md)`\|null` | Client script class to use for client-side validation. Default: `null`. | `ImageValidator` |
| <span id="property-enableClientValidation"></span>[`$enableClientValidation`](/docs/api/yii/validators/validator/index.md#property-enableClientValidation) | `bool` | Whether to enable client-side validation for this validator. Default: `true`. | [`Validator`](/docs/api/yii/validators/validator/index.md) |
| <span id="property-except"></span>[`$except`](/docs/api/yii/validators/validator/index.md#property-except) | `array\|string` | Scenarios that the validator should not be applied to. Default: `[]`. | [`Validator`](/docs/api/yii/validators/validator/index.md) |
| <span id="property-extensions"></span>[`$extensions`](/docs/api/yii/validators/filevalidator/index.md#property-extensions) | `array\|string\|null` | A list of file name extensions that are allowed to be uploaded. Default: `null`. | [`FileValidator`](/docs/api/yii/validators/filevalidator/index.md) |
| <span id="property-isEmpty"></span>[`$isEmpty`](/docs/api/yii/validators/validator/index.md#property-isEmpty) | `callable\|null` | A PHP callable that replaces the default implementation of [`isEmpty()`](/docs/api/yii/validators/validator/index.md#method-isEmpty). Default: `null`. | [`Validator`](/docs/api/yii/validators/validator/index.md) |
| <span id="property-maxFiles"></span>[`$maxFiles`](/docs/api/yii/validators/filevalidator/index.md#property-maxFiles) | `int` | The maximum file count the given attribute can hold. Default: `1`. | [`FileValidator`](/docs/api/yii/validators/filevalidator/index.md) |
| [`$maxHeight`](#property-maxHeight) | `int\|null` | The maximum width in pixels. Default: `null`. | `ImageValidator` |
| <span id="property-maxSize"></span>[`$maxSize`](/docs/api/yii/validators/filevalidator/index.md#property-maxSize) | `int\|null` | The maximum number of bytes required for the uploaded file. Default: `null`. | [`FileValidator`](/docs/api/yii/validators/filevalidator/index.md) |
| [`$maxWidth`](#property-maxWidth) | `int\|null` | The maximum width in pixels. Default: `null`. | `ImageValidator` |
| <span id="property-message"></span>[`$message`](/docs/api/yii/validators/filevalidator/index.md#property-message) | `string` | The error message used when a file is not uploaded correctly. Default: `null`. | [`FileValidator`](/docs/api/yii/validators/filevalidator/index.md) |
| <span id="property-mimeTypes"></span>[`$mimeTypes`](/docs/api/yii/validators/filevalidator/index.md#property-mimeTypes) | `array\|string\|null` | A list of file MIME types that are allowed to be uploaded. Default: `null`. | [`FileValidator`](/docs/api/yii/validators/filevalidator/index.md) |
| <span id="property-minFiles"></span>[`$minFiles`](/docs/api/yii/validators/filevalidator/index.md#property-minFiles) | `int` | The minimum file count the given attribute can hold. Default: `0`. Available since 2.0.14. | [`FileValidator`](/docs/api/yii/validators/filevalidator/index.md) |
| [`$minHeight`](#property-minHeight) | `int\|null` | The minimum height in pixels. Default: `null`. | `ImageValidator` |
| <span id="property-minSize"></span>[`$minSize`](/docs/api/yii/validators/filevalidator/index.md#property-minSize) | `int\|null` | The minimum number of bytes required for the uploaded file. Default: `null`. | [`FileValidator`](/docs/api/yii/validators/filevalidator/index.md) |
| [`$minWidth`](#property-minWidth) | `int\|null` | The minimum width in pixels. Default: `null`. | `ImageValidator` |
| [`$notImage`](#property-notImage) | `string` | The error message used when the uploaded file is not an image. Default: `null`. | `ImageValidator` |
| <span id="property-on"></span>[`$on`](/docs/api/yii/validators/validator/index.md#property-on) | `array\|string` | Scenarios that the validator can be applied to. Default: `[]`. | [`Validator`](/docs/api/yii/validators/validator/index.md) |
| [`$overHeight`](#property-overHeight) | `string` | The error message used when the image is over [`$maxHeight`](/docs/api/yii/validators/imagevalidator/index.md#property-maxHeight). Default: `null`. | `ImageValidator` |
| [`$overWidth`](#property-overWidth) | `string` | The error message used when the image is over [`$maxWidth`](/docs/api/yii/validators/imagevalidator/index.md#property-maxWidth). Default: `null`. | `ImageValidator` |
| <span id="property-sizeLimit"></span>[`$sizeLimit`](/docs/api/yii/validators/filevalidator/index.md#property-sizeLimit) read-only | `int` | The size limit for uploaded files. | [`FileValidator`](/docs/api/yii/validators/filevalidator/index.md) |
| <span id="property-skipOnEmpty"></span>[`$skipOnEmpty`](/docs/api/yii/validators/validator/index.md#property-skipOnEmpty) | `bool` | Whether this validation rule should be skipped if the attribute value is null or an empty string. Default: `true`. | [`Validator`](/docs/api/yii/validators/validator/index.md) |
| <span id="property-skipOnError"></span>[`$skipOnError`](/docs/api/yii/validators/validator/index.md#property-skipOnError) | `bool` | Whether this validation rule should be skipped if the attribute being validated already has some validation error according to some previous rules. Default: `true`. | [`Validator`](/docs/api/yii/validators/validator/index.md) |
| <span id="property-tooBig"></span>[`$tooBig`](/docs/api/yii/validators/filevalidator/index.md#property-tooBig) | `string` | The error message used when the uploaded file is too large. Default: `null`. | [`FileValidator`](/docs/api/yii/validators/filevalidator/index.md) |
| <span id="property-tooFew"></span>[`$tooFew`](/docs/api/yii/validators/filevalidator/index.md#property-tooFew) | `string` | The error message used if the count of multiple uploads less that minFiles. Default: `null`. Available since 2.0.14. | [`FileValidator`](/docs/api/yii/validators/filevalidator/index.md) |
| <span id="property-tooMany"></span>[`$tooMany`](/docs/api/yii/validators/filevalidator/index.md#property-tooMany) | `string` | The error message used if the count of multiple uploads exceeds limit. Default: `null`. | [`FileValidator`](/docs/api/yii/validators/filevalidator/index.md) |
| <span id="property-tooSmall"></span>[`$tooSmall`](/docs/api/yii/validators/filevalidator/index.md#property-tooSmall) | `string` | The error message used when the uploaded file is too small. Default: `null`. | [`FileValidator`](/docs/api/yii/validators/filevalidator/index.md) |
| [`$underHeight`](#property-underHeight) | `string` | The error message used when the image is under [`$minHeight`](/docs/api/yii/validators/imagevalidator/index.md#property-minHeight). Default: `null`. | `ImageValidator` |
| [`$underWidth`](#property-underWidth) | `string` | The error message used when the image is under [`$minWidth`](/docs/api/yii/validators/imagevalidator/index.md#property-minWidth). Default: `null`. | `ImageValidator` |
| <span id="property-uploadRequired"></span>[`$uploadRequired`](/docs/api/yii/validators/filevalidator/index.md#property-uploadRequired) | `string` | The error message used when no file is uploaded. Default: `null`. | [`FileValidator`](/docs/api/yii/validators/filevalidator/index.md) |
| <span id="property-validationAttributes"></span>[`$validationAttributes`](/docs/api/yii/validators/validator/index.md#property-validationAttributes) read-only | `array\|null` | List of attribute names. | [`Validator`](/docs/api/yii/validators/validator/index.md) |
| <span id="property-when"></span>[`$when`](/docs/api/yii/validators/validator/index.md#property-when) | `callable\|null` | A PHP callable whose return value determines whether this validator should be applied. Default: `null`. | [`Validator`](/docs/api/yii/validators/validator/index.md) |
| <span id="property-whenClient"></span>[`$whenClient`](/docs/api/yii/validators/validator/index.md#property-whenClient) | `string\|null` | A JavaScript function name whose return value determines whether this validator should be applied on the client-side. Default: `null`. | [`Validator`](/docs/api/yii/validators/validator/index.md) |
| <span id="property-wrongExtension"></span>[`$wrongExtension`](/docs/api/yii/validators/filevalidator/index.md#property-wrongExtension) | `string` | The error message used when the uploaded file has an extension name that is not listed in [`$extensions`](/docs/api/yii/validators/filevalidator/index.md#property-extensions). Default: `null`. | [`FileValidator`](/docs/api/yii/validators/filevalidator/index.md) |
| <span id="property-wrongMimeType"></span>[`$wrongMimeType`](/docs/api/yii/validators/filevalidator/index.md#property-wrongMimeType) | `string` | The error message used when the file has an mime type that is not allowed by [`$mimeTypes`](/docs/api/yii/validators/filevalidator/index.md#property-mimeTypes) property. Default: `null`. | [`FileValidator`](/docs/api/yii/validators/filevalidator/index.md) |

## Methods

| Method | Description | Defined by |
| --- | --- | --- |
| <span id="method-__construct"></span>[`__construct()`](/docs/api/yii/base/baseobject/index.md#method-__construct) | Constructor. | [`yii\base\BaseObject`](/docs/api/yii/base/baseobject/index.md) |
| <span id="method-__call"></span>[`__call()`](/docs/api/yii/base/component/index.md#method-__call) | Calls the named method which is not a class method. | [`yii\base\Component`](/docs/api/yii/base/component/index.md) |
| <span id="method-__clone"></span>[`__clone()`](/docs/api/yii/base/component/index.md#method-__clone) | This method is called after the object is created by cloning an existing one. | [`yii\base\Component`](/docs/api/yii/base/component/index.md) |
| <span id="method-__get"></span>[`__get()`](/docs/api/yii/base/component/index.md#method-__get) | Returns the value of a component property. | [`yii\base\Component`](/docs/api/yii/base/component/index.md) |
| <span id="method-__isset"></span>[`__isset()`](/docs/api/yii/base/component/index.md#method-__isset) | Checks if a property is set, i.e. defined and not null. | [`yii\base\Component`](/docs/api/yii/base/component/index.md) |
| <span id="method-__set"></span>[`__set()`](/docs/api/yii/base/component/index.md#method-__set) | Sets the value of a component property. | [`yii\base\Component`](/docs/api/yii/base/component/index.md) |
| <span id="method-__unset"></span>[`__unset()`](/docs/api/yii/base/component/index.md#method-__unset) | Sets a component property to be null. | [`yii\base\Component`](/docs/api/yii/base/component/index.md) |
| <span id="method-addError"></span>[`addError()`](/docs/api/yii/validators/validator/index.md#method-addError) | Adds an error about the specified attribute to the model object. | [`Validator`](/docs/api/yii/validators/validator/index.md) |
| <span id="method-attachBehavior"></span>[`attachBehavior()`](/docs/api/yii/base/component/index.md#method-attachBehavior) | Attaches a behavior to this component. | [`yii\base\Component`](/docs/api/yii/base/component/index.md) |
| <span id="method-attachBehaviors"></span>[`attachBehaviors()`](/docs/api/yii/base/component/index.md#method-attachBehaviors) | Attaches a list of behaviors to the component. | [`yii\base\Component`](/docs/api/yii/base/component/index.md) |
| <span id="method-behaviors"></span>[`behaviors()`](/docs/api/yii/base/component/index.md#method-behaviors) | Returns a list of behaviors that this component should behave as. | [`yii\base\Component`](/docs/api/yii/base/component/index.md) |
| <span id="method-canGetProperty"></span>[`canGetProperty()`](/docs/api/yii/base/component/index.md#method-canGetProperty) | Returns a value indicating whether a property can be read. | [`yii\base\Component`](/docs/api/yii/base/component/index.md) |
| <span id="method-canSetProperty"></span>[`canSetProperty()`](/docs/api/yii/base/component/index.md#method-canSetProperty) | Returns a value indicating whether a property can be set. | [`yii\base\Component`](/docs/api/yii/base/component/index.md) |
| <span id="method-className"></span>[`className()`](/docs/api/yii/base/baseobject/index.md#method-className) static | Returns the fully qualified name of this class. | [`yii\base\BaseObject`](/docs/api/yii/base/baseobject/index.md) |
| <span id="method-clientValidateAttribute"></span>[`clientValidateAttribute()`](/docs/api/yii/validators/filevalidator/index.md#method-clientValidateAttribute) | Returns the JavaScript needed for performing client-side validation. | [`FileValidator`](/docs/api/yii/validators/filevalidator/index.md) |
| <span id="method-createValidator"></span>[`createValidator()`](/docs/api/yii/validators/validator/index.md#method-createValidator) static | Creates a validator object. | [`Validator`](/docs/api/yii/validators/validator/index.md) |
| <span id="method-detachBehavior"></span>[`detachBehavior()`](/docs/api/yii/base/component/index.md#method-detachBehavior) | Detaches a behavior from the component. | [`yii\base\Component`](/docs/api/yii/base/component/index.md) |
| <span id="method-detachBehaviors"></span>[`detachBehaviors()`](/docs/api/yii/base/component/index.md#method-detachBehaviors) | Detaches all behaviors from the component. | [`yii\base\Component`](/docs/api/yii/base/component/index.md) |
| <span id="method-ensureBehaviors"></span>[`ensureBehaviors()`](/docs/api/yii/base/component/index.md#method-ensureBehaviors) | Makes sure that the behaviors declared in [`behaviors()`](/docs/api/yii/base/component/index.md#method-behaviors) are attached to this component. | [`yii\base\Component`](/docs/api/yii/base/component/index.md) |
| <span id="method-getAttributeNames"></span>[`getAttributeNames()`](/docs/api/yii/validators/validator/index.md#method-getAttributeNames) | Returns cleaned attribute names without the `!` character at the beginning. | [`Validator`](/docs/api/yii/validators/validator/index.md) |
| <span id="method-getBehavior"></span>[`getBehavior()`](/docs/api/yii/base/component/index.md#method-getBehavior) | Returns the named behavior object. | [`yii\base\Component`](/docs/api/yii/base/component/index.md) |
| <span id="method-getBehaviors"></span>[`getBehaviors()`](/docs/api/yii/base/component/index.md#method-getBehaviors) | Returns all behaviors attached to this component. | [`yii\base\Component`](/docs/api/yii/base/component/index.md) |
| <span id="method-getClientOptions"></span>[`getClientOptions()`](/docs/api/yii/validators/filevalidator/index.md#method-getClientOptions) | Returns the client-side validation options. | [`FileValidator`](/docs/api/yii/validators/filevalidator/index.md) |
| <span id="method-getFormattedClientMessage"></span>[`getFormattedClientMessage()`](/docs/api/yii/validators/validator/index.md#method-getFormattedClientMessage) | Returns the formatted validation message for client-side validation. | [`Validator`](/docs/api/yii/validators/validator/index.md) |
| <span id="method-getSizeLimit"></span>[`getSizeLimit()`](/docs/api/yii/validators/filevalidator/index.md#method-getSizeLimit) | Returns the maximum size allowed for uploaded files. | [`FileValidator`](/docs/api/yii/validators/filevalidator/index.md) |
| <span id="method-getValidationAttributes"></span>[`getValidationAttributes()`](/docs/api/yii/validators/validator/index.md#method-getValidationAttributes) | Returns a list of attributes this validator applies to. | [`Validator`](/docs/api/yii/validators/validator/index.md) |
| <span id="method-hasEventHandlers"></span>[`hasEventHandlers()`](/docs/api/yii/base/component/index.md#method-hasEventHandlers) | Returns a value indicating whether there is any handler attached to the named event. | [`yii\base\Component`](/docs/api/yii/base/component/index.md) |
| <span id="method-hasMethod"></span>[`hasMethod()`](/docs/api/yii/base/component/index.md#method-hasMethod) | Returns a value indicating whether a method is defined. | [`yii\base\Component`](/docs/api/yii/base/component/index.md) |
| <span id="method-hasProperty"></span>[`hasProperty()`](/docs/api/yii/base/component/index.md#method-hasProperty) | Returns a value indicating whether a property is defined for this component. | [`yii\base\Component`](/docs/api/yii/base/component/index.md) |
| [`init()`](#method-init) | Initializes the object. | `ImageValidator` |
| <span id="method-isActive"></span>[`isActive()`](/docs/api/yii/validators/validator/index.md#method-isActive) | Returns a value indicating whether the validator is active for the given scenario and attribute. | [`Validator`](/docs/api/yii/validators/validator/index.md) |
| <span id="method-isEmpty"></span>[`isEmpty()`](/docs/api/yii/validators/filevalidator/index.md#method-isEmpty) | Checks if the given value is empty. | [`FileValidator`](/docs/api/yii/validators/filevalidator/index.md) |
| <span id="method-off"></span>[`off()`](/docs/api/yii/base/component/index.md#method-off) | Detaches an existing event handler from this component. | [`yii\base\Component`](/docs/api/yii/base/component/index.md) |
| <span id="method-on"></span>[`on()`](/docs/api/yii/base/component/index.md#method-on) | Attaches an event handler to an event. | [`yii\base\Component`](/docs/api/yii/base/component/index.md) |
| <span id="method-trigger"></span>[`trigger()`](/docs/api/yii/base/component/index.md#method-trigger) | Triggers an event. | [`yii\base\Component`](/docs/api/yii/base/component/index.md) |
| <span id="method-validate"></span>[`validate()`](/docs/api/yii/validators/validator/index.md#method-validate) | Validates a given value. | [`Validator`](/docs/api/yii/validators/validator/index.md) |
| <span id="method-validateAttribute"></span>[`validateAttribute()`](/docs/api/yii/validators/filevalidator/index.md#method-validateAttribute) | Validates a single attribute. | [`FileValidator`](/docs/api/yii/validators/filevalidator/index.md) |
| <span id="method-validateAttributes"></span>[`validateAttributes()`](/docs/api/yii/validators/validator/index.md#method-validateAttributes) | Validates the specified object. | [`Validator`](/docs/api/yii/validators/validator/index.md) |
| <span id="method-formatMessage"></span>[`formatMessage()`](/docs/api/yii/validators/validator/index.md#method-formatMessage) protected | Formats a mesage using the I18N, or simple strtr if `\Yii::$app` is not available. | [`Validator`](/docs/api/yii/validators/validator/index.md) |
| <span id="method-getMimeTypeByFile"></span>[`getMimeTypeByFile()`](/docs/api/yii/validators/filevalidator/index.md#method-getMimeTypeByFile) protected | Get MIME type by file path | [`FileValidator`](/docs/api/yii/validators/filevalidator/index.md) |
| <span id="method-validateExtension"></span>[`validateExtension()`](/docs/api/yii/validators/filevalidator/index.md#method-validateExtension) protected | Checks if given uploaded file have correct type (extension) according current validator settings. | [`FileValidator`](/docs/api/yii/validators/filevalidator/index.md) |
| [`validateImage()`](#method-validateImage) protected | Validates an image file. | `ImageValidator` |
| <span id="method-validateMimeType"></span>[`validateMimeType()`](/docs/api/yii/validators/filevalidator/index.md#method-validateMimeType) protected | Checks the mimeType of the $file against the list in the [`$mimeTypes`](/docs/api/yii/validators/filevalidator/index.md#property-mimeTypes) property. | [`FileValidator`](/docs/api/yii/validators/filevalidator/index.md) |
| [`validateValue()`](#method-validateValue) protected | Validates a value. | `ImageValidator` |

## Property details

### $maxHeight <span id="property-maxHeight"></span>

```php
public int|null $maxHeight = null
```

The maximum width in pixels.

Defaults to null, meaning no limit.

### $maxWidth <span id="property-maxWidth"></span>

```php
public int|null $maxWidth = null
```

The maximum width in pixels.

Defaults to null, meaning no limit.

### $minHeight <span id="property-minHeight"></span>

```php
public int|null $minHeight = null
```

The minimum height in pixels.

Defaults to null, meaning no limit.

### $minWidth <span id="property-minWidth"></span>

```php
public int|null $minWidth = null
```

The minimum width in pixels.

Defaults to null, meaning no limit.

### $notImage <span id="property-notImage"></span>

```php
public string $notImage = null
```

The error message used when the uploaded file is not an image.

You may use the following tokens in the message:

- {attribute}: the attribute name
- {file}: the uploaded file name

### $overHeight <span id="property-overHeight"></span>

```php
public string $overHeight = null
```

The error message used when the image is over [`$maxHeight`](/docs/api/yii/validators/imagevalidator/index.md#property-maxHeight).

You may use the following tokens in the message:

- {attribute}: the attribute name
- {file}: the uploaded file name
- {limit}: the value of [`$maxHeight`](/docs/api/yii/validators/imagevalidator/index.md#property-maxHeight)

### $overWidth <span id="property-overWidth"></span>

```php
public string $overWidth = null
```

The error message used when the image is over [`$maxWidth`](/docs/api/yii/validators/imagevalidator/index.md#property-maxWidth).

You may use the following tokens in the message:

- {attribute}: the attribute name
- {file}: the uploaded file name
- {limit}: the value of [`$maxWidth`](/docs/api/yii/validators/imagevalidator/index.md#property-maxWidth)

### $underHeight <span id="property-underHeight"></span>

```php
public string $underHeight = null
```

The error message used when the image is under [`$minHeight`](/docs/api/yii/validators/imagevalidator/index.md#property-minHeight).

You may use the following tokens in the message:

- {attribute}: the attribute name
- {file}: the uploaded file name
- {limit}: the value of [`$minHeight`](/docs/api/yii/validators/imagevalidator/index.md#property-minHeight)

### $underWidth <span id="property-underWidth"></span>

```php
public string $underWidth = null
```

The error message used when the image is under [`$minWidth`](/docs/api/yii/validators/imagevalidator/index.md#property-minWidth).

You may use the following tokens in the message:

- {attribute}: the attribute name
- {file}: the uploaded file name
- {limit}: the value of [`$minWidth`](/docs/api/yii/validators/imagevalidator/index.md#property-minWidth)

## Method details

### init() <span id="method-init"></span>

```php
public function init(): mixed
```

Initializes the object.

This method is invoked at the end of the constructor after the object is initialized with the
given configuration.

**Returns**

`mixed`

### validateImage() <span id="method-validateImage"></span>

```php
protected function validateImage(yii\web\UploadedFile $image): array|null
```

Validates an image file.

**Parameters**

| Parameter | Type | Description |
| --- | --- | --- |
| `$image` | [`yii\web\UploadedFile`](/docs/api/yii/web/uploadedfile/index.md) | Uploaded file passed to check against a set of rules |

**Returns**

`array|null`: The error message and the parameters to be inserted into the error message. Null should be returned if the data is valid.

### validateValue() <span id="method-validateValue"></span>

```php
protected function validateValue(mixed $value): array|null
```

Validates a value.

A validator class can implement this method to support data validation out of the context of a data model.

**Parameters**

| Parameter | Type | Description |
| --- | --- | --- |
| `$value` | `mixed` | The data value to be validated. |

**Returns**

`array|null`: The error message and the array of parameters to be inserted into the error message. if (!$valid) { return [$this->message, [ 'param1' => $this->param1, 'formattedLimit' => Yii::$app->formatter->asShortSize($this->getSizeLimit()), 'mimeTypes' => implode(', ', $this->mimeTypes), 'param4' => 'etc...', ]]; } return null; for this example `message` template can contain `{param1}`, `{formattedLimit}`, `{mimeTypes}`, `{param4}` Null should be returned if the data is valid.

**Throws**

- [`yii\base\NotSupportedException`](/docs/api/yii/base/notsupportedexception/index.md): if the validator does not supporting data validation without a model