ВАЛИДАТОРЫ

Стандартные валидаторы.. 5

Alnum.. 5

Опции класса. 5

Сообщения об ошибках. 6

Примеры.. 6

Alpha. 7

Опции класса. 7

Сообщения об ошибках. 7

Примеры.. 7

Between. 8

Опции класса. 8

Сообщения об ошибках. 8

Примеры.. 8

Date. 9

Опции класса. 9

Сообщения об ошибках. 9

Примеры.. 9

Digits. 10

Сообщения об ошибках. 10

Примеры.. 10

EmailAddress. 11

Сообщения об ошибках. 11

Float. 12

Опции класса. 12

Сообщения об ошибках. 12

Примеры.. 12

GreaterThan. 13

Опции класса. 13

Сообщения об ошибках. 13

Примеры.. 13

Hex. 14

Сообщения об ошибках. 14

Примеры.. 14

Identical 15

Опции класса. 15

Сообщения об ошибках. 15

Примеры.. 15

InArray. 17

Опции класса. 17

Сообщения об ошибках. 17

Примеры.. 17

Int. 19

Опции класса. 19

Сообщения об ошибках. 19

Примеры.. 19

LessThan. 20

Опции класса. 20

Сообщения об ошибках. 20

Примеры.. 20

NotEmpty. 21

Сообщения об ошибках. 21

Примеры.. 21

Regex. 22

Опции класса. 22

Сообщения об ошибках. 22

Примеры.. 22

StringLength. 23

Опции класса. 23

Сообщения об ошибках. 23

Примеры.. 23

Валидаторы для работы с базой данных. 24

RecordExists и NoRecordExists. 24

Опции класса. 24

Сообщения об ошибках. 24

Примеры.. 24

Валидаторы для работы с элементом загрузки файлов. 26

Count. 26

Сообщения об ошибках. 26

Примеры.. 26

Crc32. 27

Сообщения об ошибках. 27

Примеры.. 27

ExcludeExtension. 28

Сообщения об ошибках. 28

Примеры.. 28

Exists. 29

Сообщения об ошибках. 29

Примеры.. 29

Extension. 30

Сообщения об ошибках. 30

Примеры.. 30

FilesSize. 31

Сообщения об ошибках. 31

Примеры.. 31

Hash. 32

Сообщения об ошибках. 32

Примеры.. 32

ImageSize. 33

Сообщения об ошибках. 33

Примеры.. 33

IsCompressed. 34

Сообщения об ошибках. 34

Примеры.. 34

IsImage. 35

Сообщения об ошибках. 35

Примеры.. 35

Md5. 36

Сообщения об ошибках. 36

Примеры.. 36

MimeType. 37

Сообщения об ошибках. 37

Примеры.. 37

NotExists. 38

Сообщения об ошибках. 38

Примеры.. 38

Sha1. 39

Сообщения об ошибках. 39

Примеры.. 39

Size. 40

Сообщения об ошибках. 40

Примеры.. 40

Upload. 41

Сообщения об ошибках. 41

WordCount. 42

Сообщения об ошибках. 42

Примеры.. 42

 

Стандартные валидаторы

Alnum

Zend_Validate_Alnum

Буквенно-цифровые символы. Эквивалент регулярного выражения [a-zA-Z_0-9]

 

Опции класса

Опции класса

Функция

Значение

allowWhiteSpace

(set|get)AllowWhiteSpace()

Разрешать знак пробела. По умолчанию false

 

Сообщения об ошибках

Константа

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

INVALID

alnumInvalid

Invalid type given. String, integer or float expected

Вы ввели данные неверного типа. Разрешены только алфавитные символы, целые и дробные числа

NOT_ALNUM

notAlnum

'%value%' contains characters which are non alphabetic and no digits

Введенное значение '%value%' неправильное. Разрешены только алфавитные символы и цифры

STRING_EMPTY

alnumStringEmpty

'%value%' is an empty string

'%value%' это пустая строка. Заполните поле, пожалуйста

 

Примеры

 

$validator = new Zend_Validate_Alnum();

 

$result = $validator->isValid('Abcd12'); // true, т.к. 'Abcd12' содержат только допустимые значение

 

$result = $validator->isValid('Abcd 12'); // false, т.к. 'Abcd 12' содержится пробел

 

// разрешаем использовать пробел

$validator->setAllowWhiteSpace(true);

 

$result = $validator->isValid('Abcd 12'); // true, 'Abcd12' содержат только допустимые значение, включая пробел


 

Alpha

Zend_Validate_Alpha

Буквенные символы. Эквивалент регулярного выражения [a-Z]

 

Опции класса

Опции класса

Функция

Значение

allowWhiteSpace

(set|get)AllowWhiteSpace()

Разрешать знак пробела. По умолчанию false

 

Сообщения об ошибках

Константа

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

INVALID

alphaInvalid

Invalid type given. String expected

Вы ввели данные неверного типа. Разрешены только алфавитные символы

NOT_ALPHA

notAlpha

'%value%' contains non alphabetic characters

Введенное значение '%value%' неправильное. Разрешены только алфавитные символы и цифры

STRING_EMPTY

alphaStringEmpty

'%value%' is an empty string

'%value%' это пустая строка. Заполните поле, пожалуйста

 

Примеры

 

$validator = new Zend_Validate_Alnum();

 

$result = $validator->isValid('Abcd'); // true, т.к. только алфавитные символы

 

$result = $validator->isValid('Ab cd'); // false, т.к. в 'Ab cd' есть пробел

 

// разрешаем использовать пробел

$validator->setAllowWhiteSpace(true);

 

$result = $validator->isValid('Ab cd'); // true, т.к. 'Ab cd' содержат только допустимые значение, включая пробел


 

Between

Zend_Validate_Between

Позволяет определить является ли введённое значение в указанном промежутке.

 

Опции класса

Опции класса

Функция

Значение

inclusive

(set|get)Inclusive()

Включительно в указанные значения. По умолчанию true

max

(set|get)Max()

Максимально значение

min

(set|get)Min()

Минимальное значение

 

Сообщения об ошибках

Константа

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

NOT_BETWEEN

notBetween

'%value%' is not between '%min%' and '%max%', inclusively

'%value%' не находится между '%min%' и '%max%', включительно

NOT_BETWEEN_STRICT

notBetweenStrict

'%value%' is not strictly between '%min%' and '%max%'

'%value%' не находится строго между '%min%' и '%max%'

 

Примеры

 

$validator = new Zend_Validate_Between(array('min' => 0, 'max' => 10));

 

$result = $validator->isValid(10); // true, т.к. 10 входит в диапазон, включительно

 

// указываем чтобы проверяемое число не было включено в крайние значения

$validator->setInclusive(false);

 

$result = $validator->isValid(10); // false, т.к. 10 не входит в диапазон

Date

Zend_Validate_Date

Проверят, содержит ли значение дату.

 

Опции класса

Опции класса

Функция

Значение

format

(get|set)Format()

Формат искомой даты. По умолчанию yyyy-MM-dd

locale

(get|set)Locale()

Локаль (ru, en, de, …)

 

Сообщения об ошибках

Константа

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

INVALID

dateInvalid

Invalid type given. String, integer, array or Zend_Date expected

'%value%' - неверный тип

INVALID_DATE

dateInvalidDate

'%value%' does not appear to be a valid date

Неверный тип. Допустимые значение: строка, целое число, массив или объект Zend_Date

FALSEFORMAT

dateFalseFormat

'%value%' does not fit the date format '%format%'

'%value%' не подходит под формат год-месяц-день (напр. 2008-11-03)

 

Примеры

 

$validator = new Zend_Validate_Date();

 

$validator->isValid('2011-10-10'); // true, т.к. значение прошло через фильтр по умолчанию yyyy-MM-dd

$validator->isValid('10.10.2011'); // false, т.к. не проходит через фильтр yyyy-MM-dd

Digits

Zend_Validate_Digits

Проверяет является ли введённое значение числом (только цифры).

 

Сообщения об ошибках

Константа

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

NOT_DIGITS

notDigits

'%value%' must contain only digits

Значение '%value%' неправильное. Введите только цифры

STRING_EMPTY

digitsStringEmpty

'%value%' is an empty string

Поле не может быть пустым. Заполните его, пожалуйста

INVALID

digitsInvalid

Invalid type given. String, integer or float expected

Неверный тип. Допустимые значения: строка, целое число или дробное число

 

Примеры

 

$validator = new Zend_Validate_Digits();

 

$validator->isValid("1234567890"); // true

$validator->isValid(1234);         // true

$validator->isValid('1a234');      // false

EmailAddress

Zend_Validate_EmailAddress

Валидация email адреса.

 

Сообщения об ошибках

Константа

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

INVALID

emailAddressInvalid

Invalid type given. String expected

Неверное значение. Допустимое значение: строка

INVALID_FORMAT

emailAddressInvalidFormat

'%value%' is no valid email address in the basic format local-part@hostname

'%value%' неправильный адрес електронной почты. Введите его в формате имя@домен

INVALID_HOSTNAME

emailAddressInvalidHostname

'%hostname%' is no valid hostname for email address '%value%'

'%hostname%' неверный домен для адреса '%value%'

INVALID_MX_RECORD

emailAddressInvalidMxRecord

'%hostname%' does not appear to have a valid MX record for the email address '%value%'

Домен '%hostname%' не имеет MX-записи об адресе '%value%'

INVALID_SEGMENT

emailAddressInvalidSegment

'%hostname%' is not in a routable network segment. The email address '%value%' should not be resolved from public network

'%hostname%' не входит во внутреннюю сеть предприятия. Email '%value%' не должен относиться к глобальной сети

DOT_ATOM

emailAddressDotAtom

'%localPart%' can not be matched against dot-atom format

'%localPart%' не соответствует формату dot-atom

QUOTED_STRING

emailAddressQuotedString

'%localPart%' can not be matched against quoted-string format

'%localPart%' не соответствует формату указанной строки

INVALID_LOCAL_PART

emailAddressInvalidLocalPart

'%localPart%' is no valid local part for email address '%value%'

'%localPart%' не правильное имя для адреса '%value%', вводите адрес вида имя@домен

LENGTH_EXCEEDED

emailAddressLengthExceeded

'%value%' exceeds the allowed length

'%value%' превышает допустимую длину

 


 

Float

Zend_Validate_Float

Проверяет является ли введённое значение дробным.

 

Опции класса

Опции класса

Функция

Значение

locale

(set|get)Locale()

Локаль разделителя. По умолчанию «.»

 

Сообщения об ошибках

Константа

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

INVALID

floatInvalid

Invalid type given. String, integer or float expected

Неверный тип. Допустимое значение: строка и цифры

NOT_FLOAT

notFloat

'%value%' does not appear to be a float

'%value%' не является дробным числом

 

Примеры

 

$validator = new Zend_Validate_Float();

 

$validator->isValid(1234.5);    // true

$validator->isValid('10a01');   // false

$validator->isValid('1,234.5'); // true

GreaterThan

Zend_Validate_GreaterThan

Проверяет что заданное значение больше указанного в настройках.

 

Опции класса

Опции класса

Функция

Значение

min

(set|get)Min()

Минимальное допустимое число

 

Сообщения об ошибках

Константа

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

NOT_GREATER

notGreaterThan

'%value%' is not greater than '%min%'

'%value%' не превышает '%min%'

 

Примеры

 

$validator  = new Zend_Validate_GreaterThan(

    array(

        'min' => 10

    )

);

 

$return = $validator->isValid(10); // false

$return = $validator->isValid(11); // true

 


 

Hex

Zend_Validate_Hex

Проверка на значение на наличие исключительно шестнадцатеричных символов.

 

Сообщения об ошибках

Константа

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

INVALID

hexInvalid

Invalid type given. String expected

Неверный тип. Ожидаемое значение: строка

NOT_HEX

notHex

'%value%' has not only hexadecimal digit characters

'%value%' содержит в себе не только шестнадцатеричные символы

 

Примеры

 

$validator = new Zend_Validate_Hex();

$result = $validator->isValid('123ABC'); // true

 


 

Identical

Zend_Validate_Identical

Позволяет определить совпадает ли значение одно значение с другим. Например два поля пароля.

 

Опции класса

Опции класса

Функция

Значение

strict

(set|get)Strict()

Строгое сравнение (типовое). По умолчанию 'true'

token

(set|get)Token()

Значение с которым будет производиться сравнение

 

Сообщения об ошибках

Константа

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

NOT_SAME

notSame

The two given tokens do not match

Значения не совпадают

MISSING_TOKEN

missingToken

No token was provided to match against

Не было введено значения для проверки на идентичность

 

Примеры

 

// 1. Проверяем значения

$validator = new Zend_Validate_Identical(

    array(

        'token' => 123

    )

);

 

if ($validator->isValid('123')) {

    // true

} else {

    // false, т.к. строка '123' не равна числу 123

}

     

// 2. Отменяем типовую проверку

$validator = new Zend_Validate_Identical(

    array(

        'token' => 123,

        'strict' => false

    )

);

 

if ($validator->isValid('123')) {

    // true, т.к. опция strict была отменена

} else {

    // false

}

     

// 3. Проверка на совпадение значений в полях для пароля

// ... создание формы $form

$form->addElement('password', 'elementOne');

$form->addElement('password', 'elementTwo', array(

    'validators' => array(

        array('identical', false, array('token' => 'elementOne'))

    )

));

 


 

InArray

Zend_Validate_InArray

Проверяет присутствует ли искомое значение в массиве. Можно применять и к многомерным массивам.

 

Опции класса

Опции класса

Функция

Значение

haystack

(set|get)Haystack()

Базовый массив с которым будет проходить проверка

recursive

(set|get)Recursive()

Опция отвечающая за рекурсивный поиск. Для многомерных массивов. По умолчанию false

strict

(set|get)Strict()

Строгая проверка. По умолчанию false

 

Сообщения об ошибках

Константа

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

NOT_IN_ARRAY

notInArray

'%value%' was not found in the haystack

'%value%' не найдено в перечисленных допустимых значениях

 

Примеры

 

// 1. Проверяем существует ли заданное значение в массиве

$validator = new Zend_Validate_InArray(

    array(

        'key'      => 'value',

        'otherkey' => 'othervalue'

    )

);

$result = $validator->isValid('value'); // true

 

// 2. Проверяем существует ли заданное значение в массиве (рекурсивно)

$validator = new Zend_Validate_InArray(

    array(

        'haystack' => array(

            'firstDimension' => array(

                'key' => 'value',

                'otherkey' => 'othervalue'),

            'secondDimension' => array(

                'some' => 'real',

                'different' => 'key')),

        'recursive' => true

    )

);

$result = $validator->isValid('value'); // true

 


 

Int

Zend_Validate_Int

Проверяет является ли заданное значение целым числом.

 

Опции класса

Опции класса

Функция

Значение

locale

(set|get)Locale()

Локаль разделителя.

 

Сообщения об ошибках

Константа

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

INVALID

intInvalid

Invalid type given. String or integer expected

Неверный тип. Допустимое значение: целое число

NOT_INT

notInt

'%value%' does not appear to be an integer

'%value%' не является целочисленным значением

 

Примеры

 

$validator = new Zend_Validate_Int();

 

$validator->isValid(1234);    // true

$validator->isValid(1234.5);  // false

$validator->isValid('1,234'); // true

 


 

LessThan

Zend_Validate_LessThan

Проверяет что заданное значение меньше указанного в настройках.

 

Опции класса

Опции класса

Функция

Значение

max

(set|get)Max()

Максимальное допустимое число

 

Сообщения об ошибках

Константа

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

NOT_LESS

notLessThan

'%value%' is not less than '%max%'

'%value%' не меньше, чем '%max%'

 

Примеры

 

$validator  = new Zend_Validate_LessThan(

    array(

        'max' => 10

    )

);

 

$result = $validator ->isValid(10); // false

$result = $validator ->isValid(8);  // true

 


 

NotEmpty

Zend_Validate_NotEmpty

Позволяет определить является ли поле пустым или заполненным.

 

Сообщения об ошибках

Константа

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

INVALID

notEmptyInvalid

Invalid type given. String, integer, float, boolean or array expected

Неверный тип. Допустимые значения: строка, целые или дробные числа, bool, массив

IS_EMPTY

isEmpty

Value is required and can't be empty

Введённое значение пустое, заполните поле, пожалуйста

 

Примеры

 

$validator = new Zend_Validate_NotEmpty();

 

$result = $validator->isValid('');    // false

$result = $validator->isValid('abc'); // true

 


 

Regex

Zend_Validate_Regex

Проверка значения на совпадение с регулярным выражением.

 

Опции класса

Опции класса

Функция

Значение

pattern

(set|get)Pattern()

Настройка шаблона

 

Сообщения об ошибках

Константа

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

INVALID

regexInvalid

Invalid type given. String, integer or float expected

Неверный тип. Ожидаемые значения: строка, целое или дробное число

NOT_MATCH

regexNotMatch

'%value%' does not match against pattern '%pattern%'

Значение '%value%' не подходит под шаблон регулярного выражения '%pattern%'

ERROROUS

regexErrorous

There was an internal error while using the pattern '%pattern%'

Произошла ошибка при проверке значения по шаблону '%pattern%'

 

Примеры

 

$validator = new Zend_Validate_Regex(

    array(

        'pattern' => '/^Test/'

    )

);

 

$validator->isValid("Test");    // true

$validator->isValid("Testing"); // true

$validator->isValid("Pest");    // false

 


 

StringLength

Zend_Validate_StringLength

Проверка длины строки.

 

Опции класса

Опции класса

Функция

Значение

encoding

(set|get)Encoding()

Кодировка

min

(set|get)Min()

Минимальное значение

max

(set|get)Max()

Максимальное значение

 

Сообщения об ошибках

Константа

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

INVALID

stringLengthInvalid

Invalid type given. String expected

Неверный тип. Ожидаемое значение: строка

TOO_SHORT

stringLengthTooShort

'%value%' is less than %min% characters long

Длина введённого значения '%value%', меньше чем '%min%' символов

TOO_LONG

stringLengthTooLong

'%value%' is more than %max% characters long

Длина введённого значения '%value%', больше чем '%max%' символов

 

Примеры

 

// минимум 3 символа, максимум 30

$validator = new Zend_Validate_StringLength(array('min' => 3, 'max' => 30));

 

$validator->isValid(".");       // false

$validator->isValid("Test");    // true

$validator->isValid("Testing"); // true

 


 

Валидаторы для работы с базой данных

 

RecordExists и NoRecordExists

Zend_Validate_Db_RecordExists

Проверяет что заданное значения существует в определённой таблице и колонке.

 

Zend_Validate_Db_NoRecordExists

Проверяет что заданного значения не существует в определённой таблице и колонке.

 

Опции класса

Опции класса

Функция

Значение

adapter

(set|get)Adapter()

Адаптер базы данных

exclude

(set|get)Exclude()

Значения, которые будут исключены из поиска

field

(set|get)Field()

Название колонки, в которой будет производиться поиск

schema

(set|get)Schema()

Схема базы данных

table

(set|get)Table()

Название таблицы, в которой будет производиться поиск

 

Сообщения об ошибках

Константа

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

ERROR_NO_RECORD_FOUND

noRecordFound

No record matching '%value%' was found

Значение '%value%' не было найдено

ERROR_RECORD_FOUND

recordFound

A record matching '%value%' was found

Значение '%value%' было найдено

 

Примеры

Внимание! Для работы примеров вы сначала должны настроить подключение к базе данных

 

// 1. Проверяем наличие пользователя в базе с заданным логином

$validator = new Zend_Validate_Db_RecordExists(

    array(

        'table' => 'users',

        'field' => 'login'

    )

);

 

if ($validator->isValid('user123')) {

    // true, если пользователь существует

} else {

    // false, если пользователя с таким логином нет

}

 

// 2. Проверяем наличие пользователя в базе с заданным логином у которого в поле 'active' не стоит 0

$validator = new Zend_Validate_Db_RecordExists(

    array(

        'table' => 'users',

        'field' => 'login',

        'exclude' => array(

            'field' => 'active',

            'value' => '0' // т.к. 'exclude' исключает данное значение из поиска

        )

    )

);

 

if ($validator->isValid('user123')) {

    // true, если пользователь существует и в поле 'active' не стоит значение 0

} else {

    // false, если пользователя с таким логином нет, или в поле 'active' стоит значение 0

}

 

Zend_Validate_Db_NoRecordExists работает точно так же, только в обратном направлении.

 


 

Валидаторы для работы с элементом загрузки файлов

 

Count

Zend_Validate_File_Count

Проверка на количество загружаемых файлов.

 

Сообщения об ошибках

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

fileCountTooMany

Too many files, maximum '%max%' are allowed but '%count%' are given

Вы загружаете слишком много файлов - '%count%'. Разрешено загружать только '%max%'

fileCountTooFew

Too few files, minimum '%min%' are expected but '%count%' are given

Вы загружаете недостаточно файлов '%min%'. Их число должно быть как минимум '%count%'

 

Примеры

$upload = new Zend_File_Transfer();

// Количество загружаемых файлов должно быть 2
$upload
->addValidator('Count', false, 2);

// Максимальное число загружаемых файлов – 5, минимальное 1 файл
$upload
->addValidator('Count', false, array('min' =>1, 'max' => 5));


 

Crc32

Zend_Validate_File_Crc32

Проверка на совпадение с хэшем Crc32.

 

Сообщения об ошибках

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

fileCrc32DoesNotMatch

File '%value%' does not match the given crc32 hashes

Файла '%value%' не совпадает с указанным crc32 хэшем

fileCrc32NotDetected

A crc32 hash could not be evaluated for the given file

Хэш crc32 не может быть определён

fileCrc32NotFound

File '%value%' is not readable or does not exist

Файл '%value%' не читабелен или его не существует

 

Примеры

$upload = new Zend_File_Transfer();

// Проверяет хэш контента файла с заданным
$upload
->addValidator('Crc32', false, '3b3652f');

// Проверка хэш-а файла с несколькими вариантами
$upload
->addValidator('Crc32', false, array('3b3652f', 'e612b69'));


 

ExcludeExtension

Zend_Validate_File_ExcludeExtension

Запрещает загрузку файлов с указанными форматами.

 

Сообщения об ошибках

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

fileExcludeExtensionFalse

File '%value%' has a false extension

Файд '%value%' не имеет расширения

fileExcludeExtensionNotFound

File '%value%' is not readable or does not exist

Файл '%value%' не читабелен или его не существует

 

Примеры

 

$upload = new Zend_File_Transfer();

// Не загружать файлы с форматами php или exe
$upload
->addValidator('ExcludeExtension', false, 'php,exe');

// Тот же пример только в другой форме записи
$upload
->addValidator('ExcludeExtension', false, array('php', 'exe'));

// Проверка учитывая регистр
$upload
->addValidator('ExcludeExtension',
                      
false,
                      array(
'php', 'exe', 'case' => true));
$upload
->addValidator('ExcludeExtension',
                      
false,
                      array(
'php', 'exe', 'case' => true));

Exists

Zend_Validate_File_Exists

Проверка на существование файла.

 

Сообщения об ошибках

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

fileExistsDoesNotExist

File '%value%' does not exist

Файл '%value%' не существует

 

Примеры

 

$upload = new Zend_File_Transfer();

// Добавить временную папку для помещения файла
$upload
->addValidator('Exists', false, '\temp');

// Добавить несколько папок
$upload
->addValidator('Exists',
                      
false,
                      array(
'\home\images', '\home\uploads'));

Extension

Zend_Validate_File_Extension

Проверка на расширение файла.

 

Сообщения об ошибках

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

fileExtensionFalse

File '%value%' has a false extension

Файл '%value%' содержит недопустимое расширения

fileExtensionNotFound

File '%value%' is not readable or does not exist

Файл '%value%' не читабелен или его не существует

 

Примеры

 

$upload = new Zend_File_Transfer();

// Разрешать загружать только jpg и png
$upload
->addValidator('Extension', false, 'jpg,png');

// Та же операция только в другой форме записи
$upload
->addValidator('Extension', false, array('jpg', 'png'));

// Проверка с учётом регистра
$upload
->addValidator('Extension', false, array('mo', 'png', 'case' => true));
if (!
$upload->isValid('C:\temp\myfile.MO')) {
    print 
'Проверка провалилась так как MO и mo не равны с учётом регистра;
}

FilesSize

Zend_Validate_File_FilesSize

Проверка на общий размер всех загружаемых файлов.

 

Сообщения об ошибках

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

fileFilesSizeTooBig

All files in sum should have a maximum size of '%max%' but '%size%' were detected

Файл '%value%' имеет слишком большой размер - '%size%'. Должен быть не более '%max%'

fileFilesSizeTooSmall

All files in sum should have a minimum size of '%min%' but '%size%' were detected

Файл '%value%' слишком маленького размера - '%size%'. Должен быть не менее '%min%'

fileFilesSizeNotReadable

One or more files can not be read

Невозможно прочитать один или несколько файлов

 

Примеры

 

$upload = new Zend_File_Transfer();

// Размер загружаемых файлов не должен превышать 40000 байт
$upload
->addValidator('FilesSize', false, 40000);

// Максимальный общий размер файлов - 4MB, минимальный 10kB
$upload
->addValidator('FilesSize',
                      
false,
                      array(
'min' => '10kB', 'max' => '4MB'));

// Тот же пример, только на это раз будет возвращён размер файла
$upload
->addValidator('FilesSize',
                      
false,
                      array(
'min' => '10kB',
                            
'max' => '4MB',
                            
'bytestring' => false));

Hash

Zend_Validate_File_Hash

Проверка на хэш.

 

Сообщения об ошибках

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

fileHashDoesNotMatch

File '%value%' does not match the given hashes

Файла '%value%' не совпадает с указанным хэшем

fileHashHashNotDetected

A hash could not be evaluated for the given file

Хэш не может быть определён

fileHashNotFound

File '%value%' is not readable or does not exist

Файл '%value%' не читабелен или его не существует

 

Примеры

 

$upload = new Zend_File_Transfer();

// Проверяет хэш контента файла с заданным
$upload
->addValidator('Hash', false, '3b3652f');

// Проверка хэша файл на равенство с несколькими значениями
$upload
->addValidator('Hash', false, array('3b3652f', 'e612b69'));

// Та же проверка только с указанием алгоритма хеширования
$upload
->addValidator('Hash',
                      
false,
                      array(
'315b3cd8273d44912a7',
                            
'algorithm' => 'md5'));

ImageSize

Zend_Validate_File_ImageSize

Проверка на размер изображения.

 

Сообщения об ошибках

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

fileImageSizeWidthTooBig

Maximum allowed width for image '%value%' should be '%maxwidth%' but '%width%' detected

Ширина загруженного рисунка '%value%' слишком большая - '%maxwidth%'. Должна быть: '%width%'

fileImageSizeWidthTooSmall

Minimum expected width for image '%value%' should be '%minwidth%' but '%width%' detected

Ширина загруженного рисунка '%value%' слишком маленькая - '%minwidth%'. Должна быть: '%width%'

fileImageSizeHeightTooBig

Maximum allowed height for image '%value%' should be '%maxheight%' but '%height%' detected

Высота загруженного рисунка '%value%' слишком большая - '%maxheight%'. Должна быть: '%height%'

fileImageSizeHeightTooSmall

Minimum expected height for image '%value%' should be '%minheight%' but '%height%' detected

Высота загруженного рисунка '%value%' слишком маленькая - '%minheight%'. Должна быть: '%height%'

fileImageSizeNotDetected

The size of image '%value%' could not be detected

Размеры изображения '%value%' не могут быть определены

fileImageSizeNotReadable

File '%value%' is not readable or does not exist

Файл '%value%' не читабелен или его не существует

 

Примеры


$upload = new Zend_File_Transfer();

// Размер изображения должен быть 100-200 px в высоту и
//
 40-80 px в ширину
$upload
->addValidator('ImageSize', false,
                      array(
'minwidth' => 40,
                            
'maxwidth' => 80,
                            
'minheight' => 100,
                            
'maxheight' => 200)
                      );

// Сброс настроек валидации и назначение новых значений
$upload
->setImageWidth(array('minwidth' => 20, 'maxwidth' => 200));

IsCompressed

Zend_Validate_File_IsCompressed

Проверка на то, является ли файл сжатым.

 

Сообщения об ошибках

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

fileIsCompressedFalseType

File '%value%' is not compressed, '%type%' detected

Файл '%value%' не сжат. Его тип '%type%'

fileIsCompressedNotDetected

The mimetype of file '%value%' could not be detected

Mimetype файла '%value%' не может быть определён

fileIsCompressedNotReadable

File '%value%' is not readable or does not exist

Файл '%value%' не читабелен или его не существует

 

Примеры


$upload = new Zend_File_Transfer();

// Проверяет, является ли загружаемый файл массивом
$upload
->addValidator('IsCompressed', false);

// Проверяет, является ли файл архивом типа zip
$upload
->addValidator('IsCompressed', false, array('application/zip'));

// Та же операция в сокращённой записи
$upload
->addValidator('IsCompressed', false, 'zip');

IsImage

Zend_Validate_File_IsImage

Проверка на то, является ли файл изображением.

 

Сообщения об ошибках

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

fileIsImageFalseType

File '%value%' is no image, '%type%' detected

Файл '%value%' не изображение, его тип '%type%'

fileIsImageNotDetected

The mimetype of file '%value%' could not be detected

Mimetype файла '%value%' не может быть определён

fileIsImageNotReadable

File '%value%' is not readable or does not exist

Файл '%value%' не читабелен или его не существует

 

Примеры


$upload = new Zend_File_Transfer();

// Проверяет, является ли загружаемый файл изображением
$upload
->addValidator('IsImage', false);

// Проверяет, является ли загружаемый файл изображением формата gif
$upload
->addValidator('IsImage', false, array('application/gif'));

// Проверяет, является ли загружаемый файл изображением форматах jpeg
$upload
->addValidator('IsImage', false, 'jpeg');

Md5

Zend_Validate_File_Md5

Проверка на совпадение с хэшем Crc32.

 

Сообщения об ошибках

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

fileMd5DoesNotMatch

File '%value%' does not match the given md5 hashes

Файла '%value%' не совпадает с указанным md5 хэшем

fileMd5NotDetected

A md5 hash could not be evaluated for the given file

Хэш md5 не может быть определён

fileMd5NotFound

File '%value%' is not readable or does not exist

Файл '%value%' не читабелен или его не существует

 

Примеры


$upload = new Zend_File_Transfer();

// Проверка хэша файла с заданным
$upload
->addValidator('Md5', false, '3b3652f336522365223');

// Сравнение с несколькими хэшами
$upload
->addValidator('Md5',
                      
false,
                      array(
'3b3652f336522365223',
                            
'eb3365f3365ddc65365'));

MimeType

Zend_Validate_File_MimeType

Проверка MimeType.

 

Сообщения об ошибках

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

fileMimeTypeFalse

File '%value%' has a false mimetype of '%type%'

Файл '%value%' является экземпляром неверного mimetype '%type%'

fileMimeTypeNotDetected

The mimetype of file '%value%' could not be detected

Mimetype файла '%value%' не может быть определён

fileMimeTypeNotReadable

File '%value%' is not readable or does not exist

Файл '%value%' не читабелен или его не существует

 

Примеры

 

$upload = new Zend_File_Transfer();

// MIME загружаемых файлов должен быть gif
$upload
->addValidator('MimeType', false, 'image/gif');

// MIME загружаемых файлов должен быть gif или jpeg
$upload
->addValidator('MimeType', false, array('image/gif', 'image/jpeg');

// разрешать все MIME типы группы изображений
$upload
->addValidator('MimeType', false, 'image');


NotExists

Zend_Validate_File_NotExists

Проверка на отсутствие файла.

 

Сообщения об ошибках

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

fileNotExistsDoesExist

File '%value%' exists

Файл '%value%' уже существует

 

Примеры


$upload = new Zend_File_Transfer();

// Добавить временную папку для проверки
$upload
->addValidator('NotExists', false, '\temp');

// Добавить несколько папок
$upload
->addValidator('NotExists', false,
                      array(
'\home\images',
                            
'\home\uploads')
                     );

Sha1

Zend_Validate_File_Sha1

Проверка на совпадение с хэшем Sha1.

 

Сообщения об ошибках

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

fileSha1DoesNotMatch

File '%value%' does not match the given sha1 hashes

Файла '%value%' не совпадает с указанным sha1 хэшем

fileSha1NotDetected

A sha1 hash could not be evaluated for the given file

Хэш sha1 не может быть определён

fileSha1NotFound

File '%value%' is not readable or does not exist

Файл '%value%' не читабелен или его не существует

 

Примеры

 

$upload = new Zend_File_Transfer();

// Проверка хэша файла с заданным
$upload
->addValidator('sha1', false, '3b3652f336522365223');

// Проверка хэша файла с несколькими значениями
$upload
->addValidator('Sha1',
                      
false, array('3b3652f336522365223',
                                   
'eb3365f3365ddc65365'));

Size

Zend_Validate_File_Size

Проверка на размер файла.

 

Сообщения об ошибках

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

fileSizeTooBig

Maximum allowed size for file '%value%' is '%max%' but '%size%' detected

Максимальный размер для файла '%value%' составляет '%max%'. На данный момент его размер '%size%'

fileSizeTooSmall

Minimum expected size for file '%value%' is '%min%' but '%size%' detected

Максимальный размер для файла '%value%' составляет '%min%'. На данный момент его размер '%size%'

fileSizeNotFound

File '%value%' is not readable or does not exist

Файл '%value%' не читабелен или его не существует

 

Примеры


$upload = new Zend_File_Transfer();

// // Размер загружаемых файлов не должен превышать 40000 байт
$upload
->addValidator('FilesSize', false, 40000);

// Максимальный размер файла - 4MB, минимальный 10kB
$upload
->addValidator('FilesSize',
                      
false,
                      array(
'min' => '10kB', 'max' => '4MB'));

// Тот же пример, только на это раз будет возвращён размер файла
$upload
->addValidator('FilesSize',
                      
false,
                      array(
'min' => '10kB',
                            
'max' => '4MB',
                            
'bytestring' => false));

Upload

Zend_Validate_File_Upload

Проверка на то, был ли загружен файл.

 

Сообщения об ошибках

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

fileUploadErrorIniSize

File '%value%' exceeds the defined ini size

Файл '%value%' превышает размер указанный в конфигурации

fileUploadErrorFormSize

File '%value%' exceeds the defined form size

Файл '%value%' превышает размер указанный в форме

fileUploadErrorPartial

File '%value%' was only partially uploaded

Файл '%value%' был загружен частично

fileUploadErrorNoFile

File '%value%' was not uploaded

Файл '%value%' не был загружен

fileUploadErrorNoTmpDir

No temporary directory was found for file '%value%'

Не было найдено папки, куда должен был быть записан файл '%value%'

fileUploadErrorCantWrite

File '%value%' can't be written

Файл '%value%' не может быть записан

fileUploadErrorExtension

A PHP extension returned an error while uploading the file '%value%'

Во время загрузки файла '%value%' произошла ошибка

fileUploadErrorAttack

File '%value%' was illegally uploaded. This could be a possible attack

Загрузка файла '%value%' была не авторизована. Возможно, это была атака

fileUploadErrorFileNotFound

File '%value%' was not found

Файл '%value%' не был найден

fileUploadErrorUnknown

Unknown error while uploading file '%value%'

Во время загрузки файла '%value%' произошла неизвестная ошибка

 


 

WordCount

Zend_Validate_File_WordCount

Проверка на количество слов.

 

Сообщения об ошибках

Значение

Сообщение об ошибке (на английском)

Сообщение об ошибке (на русском)

fileWordCountTooMuch

Too much words, maximum '%max%' are allowed but '%count%' were counted

Слишком много: '%count%' слов. Допустимо '%max%'

fileWordCountTooLess

Too less words, minimum '%min%' are expected but '%count%' were counted

Слишком мало: '%count%' слов. Допустимо '%min%'

fileWordCountNotFound

File '%value%' is not readable or does not exist

Файл '%value%' не читабелен или его не существует

 

Примеры


$upload = new Zend_File_Transfer();

// Максимальное количество слов в файле 2000
$upload
->addValidator('WordCount'false2000);

// Максимальное число слов в файле 5000, минимальное 1000 слов
$upload
->addValidator('WordCount'false, array('min' => 1000'max' => 5000));