Класс Validation
Класс Validation. Используется для валидации данных модели.
Предлагает различные методы валидации.
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Utility/Validation.php
Краткое описание свойств
- Некоторые сложные шаблоны, необходимые в нескольких местах
array -
arrayСодержит массив сообщений об ошибках, установленных в этом классе. Они используются для отладки.
Краткое описание методов
- Выполняет проверку по регулярному выражению.
- Вспомогательный метод, который можно подменить при тестировании.
-
Попытка передать необработанные локали валидации в класс, начинающийся с $classPrefix и заканчивающийся Validation. Например, $classPrefix = 'nl', класс будет
NlValidation. - Лениво заполняет шаблоны адресов IP, используемые для валидации
- Сброс внутренних переменных для новой проверки.
- Проверяет, что строка содержит только цифры или буквы.
- Псевдоним Validator::lengthBetween() для обратной совместимости.
-
Возвращает true, если поле пустое или содержит только пробельные символы. Пробельные символы включают пробел, табуляцию, возврат каретки, перенос строки.
- Валидация булевых значений, определяет, является ли переданное значение булевым целым числом или true/false.
-
Валидация номеров кредитных карт. Возвращает true, если $check имеет правильный формат кредитной карты.
- Используется для сравнения двух числовых значений.
- Используется, когда необходимо пользовательское регулярное выражение.
-
Валидация дат, определяет, является ли переданная строка допустимой датой. Ключи, которые ожидают полный месяц, день и год, будут проверять високосные годы.
- Валидирует значение даты и времени.
- Проверяет, является ли значение допустимой десятичной дробью. Знак и показатель степени необязательны.
- Валидация адресов электронной почты.
- Проверяет, что значение точно равно $comparedTo.
- Проверка, что значение имеет допустимое расширение файла.
- Проверяет размер файла.
- Проверяет, находится ли значение в заданном списке. Сравнение по умолчанию регистрозависимое.
- Валидация адреса IP.
-
Проверяет, находится ли длина строки в заданном диапазоне. Пробелы учитываются в подсчете символов. Возвращает true, если строка соответствует значению min, max или между min и max.
- Алгоритм Луна.
- Проверяет, меньше ли длина строки максимальной длины.
- Проверяет тип 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()исходный код protected static
_check( string $check , string $regex )
Выполняет проверку по регулярному выражению.
Параметры
- строка
$check - Значение для проверки по выражению $regex.
- строка
$regex - Регулярное выражение
Возвращает
booleanРезультат проверки
_isUploadedFile()source protected static
_isUploadedFile( string $path )
Вспомогательный метод, который можно подменить в тестах.
Параметры
- строка
$path - Путь для проверки.
Возвращаемое значение
booleanЯвляется ли файл загруженным.
_pass()source protected static
_pass( string $method , mixed $check , string $classPrefix )
Попытка передать необработанные локальные настройки проверки классу, начинающемуся с $classPrefix и заканчивающемуся Validation. Например, если $classPrefix = 'nl', классом будет NlValidation.
Параметры
- строка
$method - Метод для вызова в другом классе.
- смешанное
$check - Значение для проверки или массив параметров для вызываемого метода.
- строка
$classPrefix - Префикс класса для выполнения проверки.
Возвращаемое значение
смешанноеРезультат вызываемого метода, false в случае неудачи
_populateIp()source protected static
_populateIp( )
Ленивая инициализация шаблонов IP-адресов, используемых для проверок
_reset()source protected static
_reset( )
Сброс внутренних переменных для следующего запуска проверки.
alphaNumeric()source public static
alphaNumeric( string|array $check )
Проверяет, что строка содержит только цифры или буквы
Возвращает true, если строка содержит только цифры или буквы
$check может быть передан как массив: array('check' => 'значениеДляПроверки');
Параметры
- строка|массив
$check - Значение для проверки
Возвращаемое значение
booleanУспешно
between()source public static
between( string $check , integer $min , integer $max )
Псевдоним Validator::lengthBetween() для обратной совместимости.
Устаревшее
Устаревший 2.6. Используйте Validator::lengthBetween() вместо него.Параметры
- строка
$check - Значение для проверки длины
- целое число
$min - Минимальное значение в диапазоне (включительно)
- целое число
$max - Максимальное значение в диапазоне (включительно)
Возвращаемое значение
booleanУспешно
См. также
Validator::lengthBetween()blank()source public static
blank( string|array $check )
Возвращает true, если поле пустое - ИЛИ - в его значении присутствуют только символы пробелов. Пробелы включают пробел, табуляцию, возврат каретки, перевод строки
$check может быть передан как массив: array('check' => 'значениеДляПроверки');
Параметры
- строка|массив
$check - Значение для проверки
Возвращаемое значение
booleanУспешно
boolean()source public static
boolean( string $check )
Проверка на булевое значение, определяет, является ли переданное значение булевым целым числом или true/false.
Параметры
- строка
$check - корректное булевое значение
Возвращаемое значение
booleanУспешно
cc()source public static
cc( string|array $check , string|array $type 'fast' , boolean $deep false , string $regex null )
Проверка номеров кредитных карт. Возвращает true, если $check соответствует формату кредитной карты.
Параметры
- строка|массив
$check - номер кредитной карты для проверки
- строка|массив
$typeнеобязательно 'fast' 'all' может быть передан как строка, по умолчанию используется 'fast', которая проверяет формат большинства основных кредитных карт. Если используется массив, проверяются только значения массива. Пример: array('amex', 'bankcard', 'maestro')
- boolean
$deepнеобязательно false - Установите в значение true, чтобы проверить алгоритм Луна для кредитной карты.
- строка
$regexнеобязательно null - Также можно передать пользовательское регулярное выражение, которое будет использоваться вместо определенных значений регулярного выражения
Возвращаемое значение
booleanУспешно
См. также
Validation::luhn()comparison()source public static
comparison( string|array $check1 , string $operator null , integer $check2 null )
Используется для сравнения 2 числовых значений.
Параметры
- строка|массив
$check1 Если передается строка, для $check2 также должна быть передана строка. Если используется в виде массива, она должна быть передана как array('check1' => значение, 'operator' => 'оператор', 'check2' => значение)
- строка
$operatorнеобязательно null Может быть словом или оператором: больше >, меньше <, больше или равно >=, меньше или равно <=, меньше <, равно ==, не равно !=
- целое число
$check2необязательно null - Требуется только если $check1 - строка
Возвращаемое значение
booleanУспешно
custom()source public static
custom( string|array $check , string $regex null )
Используется при необходимости пользовательского регулярного выражения.
Параметры
- строка|массив
$check Если используется в качестве строки, $regex также должен быть корректным регулярным выражением. Если как массив: array('check' => значение, 'regex' => 'корректное регулярное выражение')
- строка
$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 -
MdyДекабря 27, 2006 или Дек 27, 2006 запятая необязательна -
MyДекабря 2006 или Дек 2006 -
my12/2006 или 12/06 разделители могут быть пробелом, точкой, дефисом, косой чертой -
ym2006/12 или 06/12 разделители могут быть пробелом, точкой, дефисом, косой чертой -
y2006 только год без разделителей
Параметры
- строка
$check - корректная строка даты
- строка|массив
$formatнеобязательно 'ymd' Используйте строку или массив из указанных ключей. Массивы должны передаваться как array('dmy', 'mdy', etc)
- строка
$regexнеобязательно null - Если используется пользовательское регулярное выражение, это единственная производимая проверка.
Возвращаемое значение
booleanУспешно
datetime()source public static
datetime( string $check , string|array $dateFormat 'ymd' , string $regex null )
Проверка значения даты и времени
Все значения, соответствующие правилу проверки "дата" и правилу "время", будут считаться корректными
Параметры
- строка
$check - Значение для проверки
- строка|массив
$dateFormatнеобязательно 'ymd' - Формат части даты. См. Validation::date для получения дополнительной информации.
- строка
$regexнеобязательно null - Регулярное выражение для части даты. Если используется пользовательское регулярное выражение, это единственная производимая проверка.
Возвращаемое значение
booleanTrue, если значение корректное, иначе false
См. также
Validation::dateValidation::time
decimal()source public static
decimal( float $check , integer $places null , string $regex null )
Проверяет, является ли значение допустимой десятичной дробью. Знак и порядок являются необязательными.
Допустимые места:
- null => Любое количество десятичных знаков, включая ноль. Точка «.» не требуется.
- true => Любое количество десятичных знаков больше 0 или число с плавающей точкой. Точка «.» требуется.
- 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 )
Проверяет, является ли значение натуральным числом.
Параметры
- строка
$check - Значение для проверки
- логическое значение
$allowZeroнеобязательно false - Установите в значение true, чтобы разрешить ноль, по умолчанию false
Возвращает
booleanУспех
См. также
http://ru.wikipedia.org/wiki/Натуральное_числоnotBlank()source public static
notBlank( string|array $check )
Проверяет, содержит ли строка что-либо помимо пробелов
Возвращает true, если строка содержит что-либо помимо пробелов
$check может быть передан как массив: array('check' => 'valueToCheck');
Параметры
- строка|массив
$check - Значение для проверки
Возвращает
booleanУспех
notEmpty()source public static
notEmpty( string|array $check )
Оборачивающий метод обратной совместимости для Validation::notBlank().
Устарело
2.7.0 Используйте Validation::notBlank() вместо этого.Параметры
- строка|массив
$check - Значение для проверки.
Возвращает
booleanУспех.
См. также
Validation::notBlank()numeric()source public static
numeric( string $check )
Проверяет, является ли значение числовым.
Параметры
- строка
$check - Значение для проверки
Возвращает
booleanУспех
phone()source public static
phone( string|array $check , string $regex null , string $country 'all' )
Проверка, является ли значение допустимым номером телефона.
Параметры
- строка|массив
$check - Значение для проверки (строка или массив)
- строка
$regexнеобязательно null - Регулярное выражение для использования
- строка
$countryнеобязательно 'all' - Код страны (по умолчанию 'all')
Возвращает
booleanУспех
postal()source public static
postal( string|array $check , string $regex null , string $country 'us' )
Проверяет, является ли данное значение допустимым почтовым индексом.
Параметры
- строка|массив
$check - Значение для проверки
- строка
$regexнеобязательно null - Регулярное выражение для использования
- строка
$countryнеобязательно 'us' - Страна для форматирования
Возвращает
booleanУспех
range()source public static
range( string $check , integer|float $lower null , integer|float $upper null )
Проверяет, находится ли число в заданном диапазоне. Если $lower и $upper не заданы, возвращает true, если $check — допустимое конечное значение на данной платформе
Параметры
- строка
$check - Значение для проверки
- целое число|число с плавающей запятой
$lowerнеобязательно null - Нижняя граница
- целое число|число с плавающей запятой
$upperнеобязательно null - Верхняя граница
Возвращает
booleanУспех
ssn()source public static
ssn( string|array $check , string $regex null , string $country null )
Проверяет, является ли значение допустимым номером социального страхования.
Устарело
Устарело 2.6. Будет удалено в 3.0.Параметры
- строка|массив
$check - Значение для проверки
- строка
$regexнеобязательно null - Регулярное выражение для использования
- строка
$countryнеобязательно null - Страна
Возвращает
booleanУспех
time()source public static
time( string $check )
Проверка времени, определяет, является ли переданная строка допустимым временем. Проверяет время как 24-часовое (ЧЧ:ММ) или ам/пм ([Ч]Ч:ММ[a|p]м) Не допускает/не проверяет секунды.
Параметры
- строка
$check - допустимая строка времени
Возвращает
booleanУспех
uploadError()source public static
uploadError( string|array $check , boolean $allowNoFile false )
Проверка ошибок загрузки
Параметры
- строка|массив
$check - Значение для проверки.
- логическое значение
$allowNoFileнеобязательно false - Установите в значение true, чтобы разрешить UPLOAD_ERR_NO_FILE как проход.
Возвращает
booleanСм. также
http://www.php.net/manual/ru/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, отсутствие файла пройдет валидатор независимо от других ограничений.
Параметры
- массив
$file - Данные загруженного файла из PHP.
- массив
$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)
- необязательный фрагмент (якорь)
Параметры
- строка
$check - Значение для проверки
- логическое значение
$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 )
Выполняет пользовательскую проверку.
Параметры
- строка|массив
$check - значение, которое будет проверено в пользовательских методах.
- объект
$object - класс, содержащий метод проверки
- строка
$method - имя метода класса для запуска проверки
- массив
$argsнеобязательно null - аргументы для отправки методу
Возвращает
mixedвозвращаемое значение метода пользовательского класса
uuid()source public static
uuid( string $check )
Проверяет, является ли значение допустимым UUID - http://tools.ietf.org/html/rfc4122
Параметры
- строка
$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.
http://api.cakephp.org/2.8/class-Validation.html