Класс Validation
Класс Validation. Используется для валидации данных модели.
Предлагает различные методы валидации.
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Utility/Validation.php
Краткое описание свойств
- Некоторые сложные шаблоны, необходимые в нескольких местах
array -
arrayСодержит массив сообщений об ошибках, установленных в этом классе. Они используются для отладки.
Краткое описание методов
- Выполняет соответствие по регулярному выражению.
- Вспомогательный метод, который можно заменить при тестировании.
-
Попытка передать необработанные локали Validation в класс, начинающийся с $classPrefix и заканчивающийся Validation. Например, $classPrefix = 'nl', класс будет
NlValidation. - Ленивая инициализация шаблонов IP-адресов, используемых для валидации.
- Сброс внутренних переменных для следующей операции валидации.
- Проверяет, что строка содержит только цифры или буквы.
- Псевдоним Validator::lengthBetween() для обратной совместимости.
-
Возвращает true, если поле пусто -ИЛИ- в его значении присутствуют только пробельные символы. К пробельным символам относятся Пробел, Табуляция, Возврат каретки, Новая строка.
- Валидация булевых значений, определяет, является ли переданное значение булевым целым числом или true/false.
-
Валидация номеров кредитных карт. Возвращает true, если $check соответствует формату кредитной карты.
- Используется для сравнения двух числовых значений.
- Используется при необходимости пользовательского регулярного выражения.
-
Валидация даты, определяет, является ли переданная строка корректной датой. Ключи, ожидающие полные месяц, день и год, будут проверять високосность.
- Валидирует значение даты и времени.
- Проверяет, является ли значение допустимой десятичной дробью. Знак и показатель степени являются необязательными.
- Валидирует адрес электронной почты.
- Проверяет, что значение точно равно $comparedTo.
- Проверяет, что значение имеет допустимое расширение файла.
- Проверяет размер файла.
- Проверяет, находится ли значение в заданном списке. Сравнение по умолчанию чувствительно к регистру.
- Валидация IP-адреса.
-
Проверяет, что длина строки находится в заданном диапазоне. Пробелы включаются в подсчёт символов. Возвращает true, если строка соответствует минимальному, максимальному или значению между минимальным и максимальным значением.
- Алгоритм Луна.
- Проверяет, что длина строки меньше или равна максимальной длине.
- Проверяет MIME-тип файла.
- Проверяет, что длина строки больше или равна минимальной длине.
- Проверяет, является ли значение денежной суммой.
- Валидация множественного выбора. Сравнение по умолчанию чувствительно к регистру.
- Проверяет, является ли значение натуральным числом.
- Проверяет, что строка содержит что-то отличное от пробелов.
- Оборачивающий метод обратной совместимости для Validation::notBlank().
- Проверяет, является ли значение числовым.
- Проверяет, является ли значение корректным номером телефона.
- Проверяет, является ли переданное значение корректным почтовым индексом.
-
Проверяет, находится ли число в заданном диапазоне. Если $lower и $upper не заданы, возвращает true, если $check является допустимым конечным значением на этой платформе.
- Проверяет, является ли значение корректным номером социального страхования.
-
Валидация времени, определяет, является ли переданная строка корректным временем. Валидирует время как 24-часовое (ЧЧ:ММ) или am/pm ([Ч]Ч:ММ[a|p]m). Не допускает/не валидирует секунды.
- Проверка ошибок загрузки.
- Валидация загруженного файла.
- Проверяет, является ли значение корректным URL-адресом в соответствии с http://www.w3.org/Addressing/URL/url-spec.txt
- Выполняет пользовательскую валидацию.
- Проверяет, является ли значение корректным UUID - http://tools.ietf.org/html/rfc4122
Подробное описание методов
_check()source protected static
_check( string $check , string $regex )
Выполняет соответствие по регулярному выражению.
Параметры
- строка
$check - Значение для проверки по выражению $regex.
- строка
$regex - Регулярное выражение
Возвращаемое значение
booleanРезультат соответствия
_isUploadedFile()source protected static
_isUploadedFile( string $path )
Вспомогательный метод, который можно подменить при тестировании.
Параметры
- string
$path - Путь для проверки.
Возвращает
booleanЯвляется ли файл загруженным.
_pass()source protected static
_pass( string $method , mixed $check , string $classPrefix )
Попытка передать необработанные языковые настройки проверки в класс, начинающийся с $classPrefix и заканчивающийся Validation. Например, $classPrefix = 'nl', класс будет NlValidation.
Параметры
- string
$method - Метод для вызова в другом классе.
- mixed
$check - Значение для проверки или массив параметров для вызываемого метода.
- string
$classPrefix - Префикс для класса, выполняющего проверку.
Возвращает
mixedРезультат вызываемого метода, false при ошибке.
_populateIp()source protected static
_populateIp( )
Ленивая инициализация шаблонов IP-адресов, используемых для проверок.
_reset()source protected static
_reset( )
Сброс внутренних переменных для следующего запуска проверки.
alphaNumeric()source public static
alphaNumeric( string|array $check )
Проверяет, что строка содержит только цифры или буквы.
Возвращает true, если строка содержит только цифры или буквы.
$check может быть передан как массив: array('check' => 'valueToCheck');
Параметры
- string|array
$check - Значение для проверки.
Возвращает
booleanРезультат проверки.
between()source public static
between( string $check , integer $min , integer $max )
Псевдоним для Validator::lengthBetween() для обеспечения обратной совместимости.
Устаревшее
Устарело начиная с 2.6. Используйте Validator::lengthBetween() вместо этого.Параметры
- string
$check - Значение для проверки длины.
- integer
$min - Минимальное значение в диапазоне (включительно).
- integer
$max - Максимальное значение в диапазоне (включительно).
Возвращает
booleanРезультат проверки.
См. также
Validator::lengthBetween()blank()source public static
blank( string|array $check )
Возвращает true, если поле пустое или содержит только пробельные символы. Пробельные символы включают пробел, табуляцию, возврат каретки, перевод строки.
$check может быть передан как массив: array('check' => 'valueToCheck');
Параметры
- string|array
$check - Значение для проверки.
Возвращает
booleanРезультат проверки.
boolean()source public static
boolean( string $check )
Проверка булевых значений, определяет, является ли переданное значение булевым целочисленным значением или true/false.
Параметры
- string
$check - валидное булево значение.
Возвращает
booleanРезультат проверки.
cc()source public static
cc( string|array $check , string|array $type 'fast' , boolean $deep false , string $regex null )
Проверка номеров кредитных карт. Возвращает true, если $check соответствует формату кредитной карты.
Параметры
- string|array
$check - Номер кредитной карты для проверки.
- string|array
$typeопционально 'fast' 'all' может быть передано как строка, по умолчанию используется 'fast', который проверяет формат большинства основных кредитных карт. Если используется массив, проверяются только значения массива. Пример: array('amex', 'bankcard', 'maestro')
- boolean
$deepопционально false - При установке в true проверяется алгоритм Луна для кредитной карты.
- string
$regexопционально null - Можно также передать пользовательское регулярное выражение, которое будет использоваться вместо определённых регулярных выражений.
Возвращает
booleanРезультат проверки.
См. также
Validation::luhn()comparison()source public static
comparison( string|array $check1 , string $operator null , integer $check2 null )
Используется для сравнения двух числовых значений.
Параметры
- string|array
$check1 Если передаётся строка, то для $check2 также должна быть передана строка. Если используется массив, он должен быть передан как array('check1' => value, 'operator' => 'value', 'check2' -> value)
- string
$operatorопционально null Может быть словом или оператором: больше >, меньше <, больше или равно >=, меньше или равно <=, меньше <, равно ==, не равно !=
- integer
$check2опционально null - Требуется только если $check1 является строкой.
Возвращает
booleanРезультат проверки.
custom()source public static
custom( string|array $check , string $regex null )
Используется, когда требуется пользовательское регулярное выражение.
Параметры
- string|array
$check Если используется как строка, $regex также должно быть допустимым регулярным выражением. В виде массива: array('check' => value, 'regex' => 'valid regular expression')
- string
$regexопционально null - Если $check передаётся как строка, $regex также должно быть установлено в допустимое регулярное выражение.
Возвращает
booleanРезультат проверки.
date()source public static
date( string $check , string|array $format 'ymd' , string $regex null )
Проверка дат, определяет, является ли переданная строка корректной датой. Ключи, ожидающие полный месяц, день и год, будут проверять високосные годы.
Года допустимы от 1800 до 2999.
Форматы:
-
dmy27-12-2006 или 27-12-06, разделители могут быть пробелом, точкой, тире, косой чертой -
mdy12-27-2006 или 12-27-06, разделители могут быть пробелом, точкой, тире, косой чертой -
ymd2006-12-27 или 06-12-27, разделители могут быть пробелом, точкой, тире, косой чертой -
dMy27 декабря 2006 или 27 дек 2006 -
Mdy27 декабря 2006 г. или 27 дек 2006 г. запятая необязательна -
MyДекабрь 2006 или дек 2006 -
my12/2006 или 12/06, разделители могут быть пробелом, точкой, тире, косой чертой -
ym2006/12 или 06/12, разделители могут быть пробелом, точкой, тире, косой чертой -
y2006 только год без разделителей
Параметры
- string
$check - корректная строка даты
- string|array
$formatопционально 'ymd' Используйте строку или массив вышеупомянутых ключей. Массивы должны передаваться как array('dmy', 'mdy', etc)
- string
$regexопционально null - Если используется пользовательское регулярное выражение, это единственная проверка, которая будет выполнена.
Возвращает
booleanРезультат проверки.
datetime()source public static
datetime( string $check , string|array $dateFormat 'ymd' , string $regex null )
Проверяет значение даты и времени.
Все значения, соответствующие правилу ядра "дата" и правилу "время", будут допустимы.
Параметры
- string
$check - Значение для проверки.
- string|array
$dateFormatопционально 'ymd' - Формат части даты. См. Validation::date для получения дополнительной информации.
- string
$regexопционально null - Регулярное выражение для части даты. Если используется пользовательское регулярное выражение, это единственная проверка, которая будет выполнена.
Возвращает
booleanTrue, если значение является допустимым, false в противном случае.
См. также
Validation::dateValidation::time
decimal()source public static
decimal( float $check , integer $places null , string $regex null )
Проверяет, является ли значение допустимой десятичной дробью. Знак и показатель степени являются необязательными.
Допустимые значения:
- null => Любое количество десятичных знаков, включая ноль. Точка «.» не требуется.
- true => Любое количество десятичных знаков больше нуля или число с плавающей точкой. Точка «.» требуется.
- 1..N => Ровно столько десятичных знаков. Точка «.» требуется.
Параметры
- float
$check - Значение, которое нужно проверить на соответствие десятичной дроби.
- integer
$placesoptional null - Десятичные знаки.
- string
$regexoptional null - Если используется пользовательское регулярное выражение, это единственная проверка, которая будет выполнена.
Возвращаемое значение
booleanУспех
email()source public static
email( string $check , boolean $deep false , string $regex null )
Проверка на адрес электронной почты.
Используется только getmxrr() для глубокой проверки, если используется PHP 5.3.0+ или любая версия PHP на дистрибутивах, отличных от Windows.
Параметры
- string
$check - Значение для проверки
- boolean
$deepoptional false - Выполнить более глубокую проверку (если true), также проверив доступность хоста
- string
$regexoptional null - Регулярное выражение для использования (если нет, используется встроенное)
Возвращаемое значение
booleanУспех
equalTo()source public static
equalTo( mixed $check , mixed $comparedTo )
Проверка, что значение точно равно $comparedTo.
Параметры
- mixed
$check - Значение для проверки
- mixed
$comparedTo - Значение для сравнения
Возвращаемое значение
booleanУспех
extension()source public static
extension( string|array $check , array $extensions array('gif', 'jpeg', 'png', 'jpg') ) Проверка на наличие допустимого расширения файла.
Параметры
- string|array
$check - Значение для проверки
- array
$extensionsoptional array('gif', 'jpeg', 'png', 'jpg') - Разрешенные расширения файлов. По умолчанию расширения — 'gif', 'jpeg', 'png', 'jpg'
Возвращаемое значение
booleanУспех
fileSize()source public static
fileSize( string|array $check , string $operator null , integer|string $size null )
Проверка размера файла
Параметры
- string|array
$check - Значение для проверки.
- string
$operatoroptional null - См.
Validation::comparison(). - integer|string
$sizeoptional null - Размер в байтах или удобочитаемая строка, например, '5MB'.
Возвращаемое значение
booleanУспех
inList()source public static
inList( string $check , array $list , boolean $caseInsensitive false )
Проверяет, находится ли значение в заданном списке. Сравнение по умолчанию регистрозависимое.
Параметры
- string
$check - Значение для проверки.
- array
$list - Список для проверки.
- boolean
$caseInsensitiveoptional false - Установите в значение true для регистронезависимого сравнения.
Возвращаемое значение
booleanУспех.
ip()source public static
ip( string $check , string $type 'both' )
Проверка на IP-адрес.
Параметры
- string
$check - Строка для проверки.
- string
$typeoptional 'both' - Версия IP-протокола для проверки.
Возвращаемое значение
booleanУспех
lengthBetween()source public static
lengthBetween( string $check , integer $min , integer $max )
Проверяет, что длина строки находится в заданном диапазоне. Пробелы включены в подсчет символов. Возвращает true, если строка соответствует значению min, max или находится между min и max.
Параметры
- string
$check - Значение для проверки длины
- integer
$min - Минимальное значение в диапазоне (включительно)
- integer
$max - Максимальное значение в диапазоне (включительно)
Возвращаемое значение
booleanУспех
luhn()source public static
luhn( string|array $check , boolean $deep false )
Алгоритм Луна
Параметры
- string|array
$check - Значение для проверки.
- boolean
$deepoptional false - Если true, выполняется глубокая проверка.
Возвращаемое значение
booleanУспех
См. также
http://en.wikipedia.org/wiki/Luhn_algorithmmaxLength()source public static
maxLength( string $check , integer $max )
Проверяет, меньше ли или равна длина строки максимальной длине.
Параметры
- string
$check - Строка для проверки
- integer
$max - Максимальная длина строки
Возвращаемое значение
booleanУспех
mimeType()source public static
mimeType( string|array $check , array|string $mimeTypes array() )
Проверка MIME-типа файла.
Параметры
- string|array
$check - Значение для проверки.
- array|string
$mimeTypesoptional array() - Массив MIME-типов или шаблон регулярного выражения для проверки.
Возвращаемое значение
booleanУспех
Исключения
CakeExceptionесли MIME-тип не может быть определен.
minLength()source public static
minLength( string $check , integer $min )
Проверяет, больше ли или равна длина строки минимальной длине.
Параметры
- string
$check - Строка для проверки
- integer
$min - Минимальная длина строки
Возвращаемое значение
booleanУспех
money()source public static
money( string $check , string $symbolPosition 'left' )
Проверяет, является ли значение денежной суммой.
Параметры
- string
$check - Значение для проверки
- string
$symbolPositionoptional 'left' - Расположение символа (слева/справа)
Возвращаемое значение
booleanУспех
multiple()source public static
multiple( array $check , array $options array() , boolean $caseInsensitive false )
Проверка множественного выбора. Сравнение по умолчанию регистрозависимое.
Допустимые параметры
- in => предоставить список вариантов, из которых необходимо сделать выбор
- max => максимальное количество ненулевых выборов
- min => минимальное количество ненулевых выборов
Параметры
- array
$check - Значение для проверки
- array
$optionsoptional array() - Параметры для проверки.
- boolean
$caseInsensitiveoptional false - Установите в значение true для регистронезависимого сравнения.
Возвращаемое значение
booleanУспех
naturalNumber()source public static
naturalNumber( string $check , boolean $allowZero false )
Проверяет, является ли значение натуральным числом.
Параметры
- string
$check - Значение для проверки
- boolean
$allowZeroнеобязательно false - Установить в значение true, чтобы разрешить ноль, по умолчанию false
Возвращаемое значение
booleanУспех
См. также
http://en.wikipedia.org/wiki/Natural_numbernotBlank()source public static
notBlank( string|array $check )
Проверяет, что строка содержит что-то кроме пробелов.
Возвращает true, если строка содержит что-то кроме пробелов.
$check может быть передан как массив: array('check' => 'valueToCheck');
Параметры
- string|array
$check - Значение для проверки
Возвращаемое значение
booleanУспех
notEmpty()source public static
notEmpty( string|array $check )
Обёртка для обратной совместимости с Validation::notBlank().
Устаревшее
2.7.0 Используйте Validation::notBlank() вместо этого.Параметры
- string|array
$check - Значение для проверки.
Возвращаемое значение
booleanУспех.
См. также
Validation::notBlank()numeric()source public static
numeric( string $check )
Проверяет, является ли значение числовым.
Параметры
- string
$check - Значение для проверки
Возвращаемое значение
booleanУспех
phone()source public static
phone( string|array $check , string $regex null , string $country 'all' )
Проверяет, является ли значение корректным номером телефона.
Параметры
- string|array
$check - Значение для проверки (строка или массив)
- string
$regexнеобязательно null - Регулярное выражение для использования
- string
$countryнеобязательно 'all' - Код страны (по умолчанию 'all')
Возвращаемое значение
booleanУспех
postal()source public static
postal( string|array $check , string $regex null , string $country 'us' )
Проверяет, является ли заданное значение корректным почтовым индексом.
Параметры
- string|array
$check - Значение для проверки
- string
$regexнеобязательно null - Регулярное выражение для использования
- string
$countryнеобязательно 'us' - Страна для форматирования
Возвращаемое значение
booleanУспех
range()source public static
range( string $check , integer|float $lower null , integer|float $upper null )
Проверяет, что число находится в указанном диапазоне. Если $lower и $upper не установлены, возвращает true, если $check является законным конечным значением на этой платформе
Параметры
- string
$check - Значение для проверки
- integer|float
$lowerнеобязательно null - Нижняя граница
- integer|float
$upperнеобязательно null - Верхняя граница
Возвращаемое значение
booleanУспех
ssn()source public static
ssn( string|array $check , string $regex null , string $country null )
Проверяет, является ли значение корректным номером социального страхования.
Устаревшее
Устарело 2.6. Будет удалено в 3.0.Параметры
- string|array
$check - Значение для проверки
- string
$regexнеобязательно null - Регулярное выражение для использования
- string
$countryнеобязательно null - Страна
Возвращаемое значение
booleanУспех
time()source public static
time( string $check )
Проверка времени, определяет, является ли переданная строка корректным временем. Проверяет время как 24-часовое (ЧЧ:ММ) или AM/PM ([Ч]Ч:ММ[a|p]m). Не допускает/не проверяет секунды.
Параметры
- string
$check - корректная строка времени
Возвращаемое значение
booleanУспех
uploadError()source public static
uploadError( string|array $check , boolean $allowNoFile false )
Проверка ошибок загрузки.
Параметры
- string|array
$check - Значение для проверки.
- boolean
$allowNoFileнеобязательно false - Установите в значение true, чтобы разрешить UPLOAD_ERR_NO_FILE как проход.
Возвращаемое значение
booleanСм. также
http://www.php.net/manual/en/features.file-upload.errors.phpuploadedFile()source public static
uploadedFile( array $file , array $options array() )
Проверка загруженного файла.
Помогает объединить uploadError, fileSize и mimeType в один метод валидации более высокого уровня.
Опции
-
types- Список допустимых типов MIME. Если пусто, все типы будут приниматься.typeне будет рассматриваться, вместо этого будет проверяться тип файла с помощью ext/finfo. -
minSize- Минимальный размер файла. По умолчанию не проверяется. -
maxSize- Максимальный размер файла. По умолчанию не проверяется. -
optional- Является ли этот файл необязательным. По умолчанию false. Если true, отсутствующий файл пройдет валидатор независимо от других ограничений.
Параметры
- array
$file - Данные загруженного файла из PHP.
- array
$optionsнеобязательно array() - Массив опций для проверки.
Возвращаемое значение
booleanurl()source public static
url( string $check , boolean $strict false )
Проверяет, является ли значение корректным URL-адресом в соответствии с http://www.w3.org/Addressing/URL/url-spec.txt
Регулярное выражение проверяет следующие составные части:
- допустимый, необязательный, схему
- корректный IP-адрес ИЛИ корректное доменное имя, как определено в разделе 2.3.1 http://www.ietf.org/rfc/rfc1035.txt с необязательным номером порта
- необязательный корректный путь
- необязательная строка запроса (параметры GET)
- необязательный фрагмент (якорь тега)
Параметры
- string
$check - Значение для проверки
- boolean
$strictнеобязательно false - Требуется, чтобы URL был префиксным корректной схемой (один из http(s)/ftp(s)/file/news/gopher)
Возвращаемое значение
booleanУспех
userDefined()source public static
userDefined( string|array $check , object $object , string $method , array $args null )
Выполняет пользовательскую проверку.
Параметры
- string|array
$check - значение, которое будет проверено в пользовательских методах.
- object
$object - класс, который содержит метод проверки
- string
$method - имя метода класса для выполнения проверки
- array
$argsнеобязательно null - аргументы, которые будут отправлены в метод
Возвращаемое значение
mixedВозвращаемое значение метода пользовательского класса
uuid()source public static
uuid( string $check )
Проверяет, является ли значение корректным UUID - http://tools.ietf.org/html/rfc4122
Параметры
- string
$check - Значение для проверки
Возвращаемое значение
booleanУспех
Подробное описание свойств
$_patternsource
protected static массив
Некоторые сложные шаблоны, необходимые в нескольких местах
array(
'hostname' => '(?:[_\p{L}0-9][-_\p{L}0-9]*\.)*(?:[\p{L}0-9][-\p{L}0-9]{0,62})\.(?:(?:[a-z]{2}\.)?[a-z]{2,})'
) $errorssource
public static массив
Содержит массив сообщений об ошибках, установленных в этом классе. Они используются для отладки.
array()
© 2005–2016 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/2.9/class-Validation.html