Класс yii\validators\FileValidator
| Наследование | yii\validators\FileValidator » yii\validators\Validator » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Подклассы | yii\validators\ImageValidator |
| Доступна с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/validators/FileValidator.php |
FileValidator проверяет, является ли атрибут допустимым загруженным файлом.
Обратите внимание, что вам необходимо включить fileinfo расширение PHP.
Открытые свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $attributeNames | массив | Имена атрибутов. | yii\validators\Validator |
| $attributes | массив|строка | Атрибуты, которые должны быть проверены этим валидатором. | yii\validators\Validator |
| $behaviors | yii\base\Behavior[] | Список поведений, прикрепленных к этому компоненту | yii\base\Component |
| $builtInValidators | массив | Список встроенных валидаторов (имя => класс или конфигурация) | yii\validators\Validator |
| $checkExtensionByMimeType | булево | Выполнять проверку типа файла (расширения) с помощью MIME-типа. | yii\validators\FileValidator |
| $enableClientValidation | булево | Включить проверку на стороне клиента для этого валидатора. | yii\validators\Validator |
| $except | массив|строка | Сценарии, для которых валидатор не должен применяться. | yii\validators\Validator |
| $extensions | массив|строка | Список расширений имен файлов, которые разрешены для загрузки. | yii\validators\FileValidator |
| $isEmpty | вызов | Вызов PHP, который заменяет стандартное реализацию isEmpty(). | yii\validators\Validator |
| $maxFiles | целое число | Максимальное количество файлов, которые может содержать данный атрибут. | yii\validators\FileValidator |
| $maxSize | целое число | Максимальное количество байтов, требуемых для загружаемого файла. | yii\validators\FileValidator |
| $message | строка | Сообщение об ошибке, используемое, когда файл загружен некорректно. | yii\validators\FileValidator |
| $mimeTypes | массив|строка | Список MIME-типов файлов, которые разрешены для загрузки. | yii\validators\FileValidator |
| $minSize | целое число | Минимальное количество байтов, требуемых для загружаемого файла. | yii\validators\FileValidator |
| $on | массив|строка | Сценарии, для которых может применяться валидатор. | yii\validators\Validator |
| $sizeLimit | целое число | Предел размера загружаемых файлов. | yii\validators\FileValidator |
| $skipOnEmpty | булево | Пропустить эту проверку, если значение атрибута равно null или пустой строке. | yii\validators\Validator |
| $skipOnError | булево | Пропустить эту проверку, если атрибут уже имеет ошибку валидации по предыдущим правилам. | yii\validators\Validator |
| $tooBig | строка | Сообщение об ошибке, используемое, если загружаемый файл слишком большой. | yii\validators\FileValidator |
| $tooMany | строка | Сообщение об ошибке, если количество одновременных загрузок превышает лимит. | yii\validators\FileValidator |
| $tooSmall | строка | Сообщение об ошибке, если загружаемый файл слишком маленький. | yii\validators\FileValidator |
| $uploadRequired | строка | Сообщение об ошибке, если файл не загружен. | yii\validators\FileValidator |
| $when | вызов | Вызов PHP, возвращаемое значение которого определяет, должен ли применяться этот валидатор. | yii\validators\Validator |
| $whenClient | строка | Имя JavaScript-функции, возвращаемое значение которой определяет, должен ли применяться этот валидатор на стороне клиента. | yii\validators\Validator |
| $wrongExtension | строка | Сообщение об ошибке, если у загруженного файла есть расширение, не указанное в $extensions. | yii\validators\FileValidator |
| $wrongMimeType | строка | Сообщение об ошибке, если у файла есть MIME-тип, не разрешенный свойством $mimeTypes. | yii\validators\FileValidator |
Открытые методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает метод с заданным именем, который не является методом класса. | yii\base\Component |
| __clone() | Этот метод вызывается после создания объекта путём клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\base\Object |
| __get() | Возвращает значение свойства компонента. | yii\base\Component |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Component |
| __set() | Устанавливает значение свойства компонента. | yii\base\Component |
| __unset() | Устанавливает свойство компонента в значение null. | yii\base\Component |
| addError() | Добавляет ошибку об указанном атрибуте к объекту модели. | yii\validators\Validator |
| attachBehavior() | Прикрепляет поведение к этому компоненту. | yii\base\Component |
| attachBehaviors() | Прикрепляет список поведений к компоненту. | yii\base\Component |
| behaviors() | Возвращает список поведений, по которым должен вести себя этот компонент. | yii\base\Component |
| canGetProperty() | Возвращает значение, указывающее, можно ли прочитать свойство. | yii\base\Component |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Component |
| className() | Возвращает полное квалифицированное имя этого класса. | yii\base\Object |
| clientValidateAttribute() | Возвращает JavaScript, необходимый для выполнения проверки на стороне клиента. | yii\validators\FileValidator |
| createValidator() | Создаёт объект валидатора. | yii\validators\Validator |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), прикреплены к этому компоненту. | yii\base\Component |
| getAttributeNames() | Возвращает очищенные имена атрибутов без символа ! в начале | yii\validators\Validator |
| getBehavior() | Возвращает объект поведения с заданным именем. | yii\base\Component |
| getBehaviors() | Возвращает все прикрепленные к этому компоненту поведения. | yii\base\Component |
| getClientOptions() | Возвращает параметры проверки на стороне клиента. | yii\validators\FileValidator |
| getSizeLimit() | Возвращает максимальный размер, разрешённый для загружаемых файлов. | yii\validators\FileValidator |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли обработчик, прикреплённый к событию с заданным именем. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определён ли метод. | yii\base\Component |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство для этого компонента. | yii\base\Component |
| init() | Инициализирует объект. | yii\validators\FileValidator |
| isActive() | Возвращает значение, указывающее, активен ли валидатор для данного сценария и атрибута. | yii\validators\Validator |
| isEmpty() | Проверяет, является ли заданное значение пустым. | yii\validators\FileValidator |
| off() | Отсоединяет существующий обработчик событий от этого компонента. | yii\base\Component |
| on() | Прикрепляет обработчик событий к событию. | yii\base\Component |
| trigger() | Вызывает событие. | yii\base\Component |
| validate() | Проверяет заданное значение. | yii\validators\Validator |
| validateAttribute() | Проверяет один атрибут. | yii\validators\FileValidator |
| validateAttributes() | Проверяет указанный объект. | yii\validators\Validator |
Защищённые методы
| Метод | Описание | Определено в |
|---|---|---|
| formatMessage() | Форматирует сообщение с использованием I18N или простым strtr, если \Yii::$app недоступен. | yii\validators\Validator |
| validateExtension() | Проверяет, соответствует ли тип загруженного файла (расширение) текущим настройкам валидатора. | yii\validators\FileValidator |
| validateMimeType() | Проверяет mimeType файла $file по списку в свойстве $mimeTypes | yii\validators\FileValidator |
| validateValue() | Проверяет значение. | yii\validators\FileValidator |
Подробности свойств
$checkExtensionByMimeType общедоступное свойство
Определяет, следует ли проверять тип файла (расширение) с помощью mime-типа. Если расширение, полученное из проверки mime-типа файла, отличается от расширения загруженного файла, файл считается недопустимым.
public boolean $checkExtensionByMimeType = true
$extensions общедоступное свойство
Список разрешённых расширений имён файлов. Может быть массивом или строкой, содержащей имена расширений, разделённые пробелами или запятыми (например, "gif, jpg"). Имена расширений нечувствительны к регистру. По умолчанию равно null, что означает, что все расширения имён файлов разрешены.
См. также $wrongExtension для настраиваемого сообщения о неправильном типе файла.
public array|string $extensions = null
$maxFiles общедоступное свойство
Максимальное количество файлов, которые может содержать данный атрибут. По умолчанию равно 1, что означает загрузку одного файла. Определением большего значения становится возможной многократная загрузка. Установка в значение 0 означает отсутствие ограничения на количество файлов, которые можно загрузить одновременно.
Примечание: Максимальное количество одновременно загружаемых файлов также ограничено директивой PHP
max_file_uploads, которая по умолчанию равна 20.
См. также:
- http://php.net/manual/en/ini.core.php#ini.max-file-uploads
- $tooMany для настраиваемого сообщения, когда загружено слишком много файлов.
public integer $maxFiles = 1
$maxSize общедоступное свойство
Максимальное количество байтов, требуемых для загружаемого файла. По умолчанию равно null, что означает отсутствие ограничения. Обратите внимание, что лимит размера также зависит от upload_max_filesize и post_max_size настроек INI и значения скрытого поля 'MAX_FILE_SIZE'. Подробнее см. getSizeLimit().
См. также:
- http://php.net/manual/en/ini.core.php#ini.upload-max-filesize
- http://php.net/post-max-size
- getSizeLimit()
- $tooBig для настраиваемого сообщения о слишком большом файле.
public integer $maxSize = null
$message общедоступное свойство
Сообщение об ошибке, используемое, когда файл загружен неправильно.
public string $message = null
$mimeTypes общедоступное свойство
Список типов MIME файлов, которые разрешено загружать. Это может быть массив или строка, содержащая типы MIME файлов, разделенные пробелами или запятыми (например, "text/plain, image/png"). Для сопоставления групп типов MIME может использоваться маска со специальным символом *. Например, image/* пройдет все типы MIME, начинающиеся с image/ (например, image/jpeg, image/png). Названия типов MIME нечувствительны к регистру. По умолчанию равно null, что означает, что разрешены все типы MIME.
См. также $wrongMimeType для настраиваемого сообщения о неправильном типе MIME.
public array|string $mimeTypes = null
$minSize общедоступное свойство
Минимальное количество байтов, требуемых для загружаемого файла. По умолчанию равно null, что означает отсутствие ограничения.
См. также $tooSmall для настраиваемого сообщения о слишком маленьком файле.
public integer $minSize = null
$sizeLimit общедоступное только для чтения свойство
Лимит размера загружаемых файлов.
public integer getSizeLimit ( )
$tooBig общедоступное свойство
Сообщение об ошибке, используемое, когда загружаемый файл слишком большой. Вы можете использовать следующие токены в сообщении:
- {attribute}: имя атрибута
- {file}: имя загружаемого файла
- {limit}: максимальный разрешенный размер (см. getSizeLimit())
- {formattedLimit}: максимальный размер, отформатированный с помощью Formatter::asShortSize()
public string $tooBig = null
$tooMany общедоступное свойство
Сообщение об ошибке, используемое, если количество многократных загрузок превышает лимит. Вы можете использовать следующие токены в сообщении:
- {attribute}: имя атрибута
- {limit}: значение $maxFiles
public string $tooMany = null
$tooSmall общедоступное свойство
Сообщение об ошибке, используемое, когда загружаемый файл слишком маленький. Вы можете использовать следующие токены в сообщении:
- {attribute}: имя атрибута
- {file}: имя загружаемого файла
- {limit}: значение $minSize
- {formattedLimit}: значение $minSize отформатированное с помощью [[\yii\i18n\Formatter::asShortSize()|Formatter::asShortSize()]
public string $tooSmall = null
$uploadRequired общедоступное свойство
Сообщение об ошибке, используемое, когда файл не загружен. Обратите внимание, что это текст сообщения об ошибке валидации. Чтобы сделать загрузку файлов обязательной, необходимо установить $skipOnEmpty на false.
public string $uploadRequired = null
$wrongExtension общедоступное свойство
Сообщение об ошибке, используемое, когда у загружаемого файла имя расширения не указано в $extensions. Вы можете использовать следующие токены в сообщении:
- {attribute}: имя атрибута
- {file}: имя загружаемого файла
- {extensions}: список разрешенных расширений.
public string $wrongExtension = null
$wrongMimeType общедоступное свойство
Сообщение об ошибке, используемое, когда у файла тип MIME не разрешен свойством $mimeTypes. Вы можете использовать следующие токены в сообщении:
- {attribute}: имя атрибута
- {file}: имя загружаемого файла
- {mimeTypes}: значение $mimeTypes
public string $wrongMimeType = null
Подробное описание методов
clientValidateAttribute() public method
Возвращает JavaScript, необходимый для проверки на стороне клиента.
Вызывает getClientOptions() для генерации массива опций для проверки на стороне клиента.
Вы можете переопределить этот метод, чтобы вернуть JavaScript-код проверки, если валидатор поддерживает проверку на стороне клиента.
В коде проверки предварительно определены следующие JavaScript-переменные:
-
attribute: объект, описывающий атрибут, который проверяется. -
value: значение, которое проверяется. -
messages: массив, используемый для хранения сообщений об ошибках проверки для атрибута. -
deferred: массив, используемый для хранения отложенных объектов для асинхронной проверки -
$form: jQuery-объект, содержащий элемент формы
Объект attribute содержит следующие свойства:
-
id: уникальный идентификатор, определяющий атрибут (например, "loginform-username") в форме -
name: имя атрибута или выражение (например, "[0]content" для табличных данных) -
container: jQuery-селектор контейнера поля ввода -
input: jQuery-селектор поля ввода в контексте формы -
error: jQuery-селектор тега ошибки в контексте контейнера -
status: состояние поля ввода, 0: пустое, не вводилось ранее, 1: проверка пройдена, 2: ожидается проверка, 3: проверка выполняется
| public string|null clientValidateAttribute ( $model, $attribute, $view ) | ||
|---|---|---|
| $model | yii\base\Model |
Проверяемая модель данных |
| $attribute | string |
Имя атрибута, который нужно проверить. |
| $view | yii\web\View |
Объект представления, который будет использоваться для рендеринга представлений или файлов представлений, содержащих форму модели с применением этого валидатора. |
| return | string|null |
Сценарий проверки на стороне клиента. Null, если валидатор не поддерживает проверку на стороне клиента. |
getClientOptions() public method
Возвращает опции проверки на стороне клиента.
Этот метод обычно вызывается из clientValidateAttribute(). Вы можете переопределить этот метод, чтобы изменить опции, которые будут переданы в проверку на стороне клиента.
| public array getClientOptions ( $model, $attribute ) | ||
|---|---|---|
| $model | yii\base\Model |
Проверяемая модель |
| $attribute | string |
Имя проверяемого атрибута |
| return | array |
Опции проверки на стороне клиента |
getSizeLimit() public method
Возвращает максимальный размер разрешённых загружаемых файлов.
Это определяется на основе четырёх факторов:
- 'upload_max_filesize' в php.ini
- 'post_max_size' в php.ini
- 'MAX_FILE_SIZE' скрытое поле
- $maxSize
| public integer getSizeLimit ( ) | ||
|---|---|---|
| return | integer |
Предел размера загружаемых файлов. |
init() public method
Инициализирует объект.
Этот метод вызывается в конце конструктора после инициализации объекта заданными параметрами конфигурации.
| public void init ( ) |
|---|
isEmpty() public method
Проверяет, является ли заданное значение пустым.
Значение считается пустым, если оно null, пустой массив или пустая строка. Обратите внимание, что этот метод отличается от PHP empty(). Он вернёт false, когда значение равно 0.
| public boolean isEmpty ( $value, $trim = false ) | ||
|---|---|---|
| $value | mixed |
Значение, которое нужно проверить |
| $trim | boolean | |
| return | boolean |
Является ли значение пустым |
validateAttribute() public method
Проверяет один атрибут.
Подклассы должны реализовать этот метод, чтобы предоставить фактическую логику проверки.
| public void validateAttribute ( $model, $attribute ) | ||
|---|---|---|
| $model | yii\base\Model |
Проверяемая модель данных |
| $attribute | string |
Имя атрибута, который нужно проверить. |
validateExtension() protected method
Проверяет, имеет ли заданный загруженный файл правильный тип (расширение) в соответствии с текущими настройками валидатора.
| protected boolean validateExtension ( $file ) | ||
|---|---|---|
| $file | yii\web\UploadedFile | |
validateMimeType() protected method (available since version 2.0.8)
Проверяет mimeType файла $file на соответствие списку в свойстве $mimeTypes.
См. также $mimeTypes.
| protected boolean validateMimeType ( $file ) | ||
|---|---|---|
| $file | yii\web\UploadedFile | |
| return | boolean |
Разрешен ли mimeType файла $file |
| throws | yii\base\InvalidConfigException | |
validateValue() protected method
Проверяет значение.
Класс валидатора может реализовать этот метод, чтобы поддерживать проверку данных вне контекста модели данных.
| protected array|null validateValue ( $value ) | ||
|---|---|---|
| $value | mixed |
Значение данных для проверки. |
| return | array|null |
Сообщение об ошибке и параметры, которые нужно вставить в сообщение об ошибке. Null должен возвращаться, если данные верны. |
| throws | yii\base\NotSupportedException |
если валидатор не поддерживает проверку данных без модели |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-validators-filevalidator.html