Класс Validator
Объект Validator encapsulates все методы, связанные с валидацией данных для модели. Он также предоставляет API для динамического изменения правил валидации для каждого поля модели.
Реализует ArrayAccess для удобной модификации правил в наборе
- Cake\Validation\Validator implements ArrayAccess, IteratorAggregate, Countable
Ссылка: http://book.cakephp.org/3.0/ru/core-libraries/validation.html
Расположение: Validation/Validator.php
Краткое описание констант
-
string'_nested'
Краткое описание свойств
-
$_allowEmptyMessagesprotectedarrayСодержит сообщения валидации, связанные с проверкой пустоты для каждого соответствующего поля.
-
$_fieldsprotectedМассив объектов ValidationSet.array -
$_presenceMessagesprotectedarrayСодержит сообщения валидации, связанные с проверкой наличия для каждого соответствующего поля.
-
$_providersprotectedarrayАссоциативный массив объектов или классов, содержащих методы, используемые для валидации.
-
$_useI18nprotectedИспользовать ли функции I18n для перевода сообщений об ошибках по умолчанию.boolean
Краткое описание методов
- __construct() publicКонструктор
- __debugInfo() publicПолучить печатную версию этого объекта.
- _canBeEmpty() protectedВозвращает, может ли поле быть пустым в соответствии с
allowEmpty - _checkPresence() protected
Возвращает false, если какая-либо валидация для переданного набора правил должна быть остановлена из-за отсутствия поля в массиве данных
- _fieldIsEmpty() protectedВозвращает true, если поле пусто в переданном массиве данных
- _processRules() protected
Итерируется по каждому правилу в наборе валидации и собирает ошибки, возникшие в результате их выполнения
- add() public
Добавляет новое правило к набору правил поля. Если второй аргумент является массивом, то список правил для поля будет заменен вторым аргументом, а третий аргумент будет проигнорирован.
- addNested() publicДобавляет вложенный валидатор.
- addNestedMany() publicДобавляет вложенный валидатор.
- allowEmpty() publicРазрешает поле быть пустым.
- alphaNumeric() publicДобавляет правило alphanumeric к полю.
- ascii() publicДобавляет правило валидации, чтобы убедиться, что поле содержит только байты ASCII
- boolean() publicДобавляет правило валидации boolean к полю.
- containsNonAlphaNumeric() publicДобавляет правило проверки, содержит ли поле не буквенно-цифровые символы.
- count() publicВозвращает количество полей, имеющих правила валидации
- creditCard() publicДобавляет правило валидации для номера кредитной карты.
- date() publicДобавляет правило валидации формата даты к полю.
- dateTime() publicДобавляет правило валидации формата даты и времени к полю.
- decimal() publicДобавляет правило валидации десятичного числа к полю.
- email() publicДобавляет правило валидации адреса электронной почты к полю.
- equals() publicДобавляет правило сравнения "равно" к полю.
- errors() public
Возвращает массив полей, которые не прошли валидацию. Для текущей модели. Этот метод фактически выполнит правила валидации над данными, а не просто вернёт сообщения.
- field() public
Возвращает объект ValidationSet, содержащий все правила валидации для поля. Если в качестве второго аргумента передано ValidationSet, он заменит любой другой определённый ранее набор правил.
- getIterator() publicВозвращает итератор для каждого из полей, которые необходимо валидировать
- greaterThan() publicДобавляет правило сравнения "больше чем" к полю.
- greaterThanOrEqual() publicДобавляет правило сравнения "больше или равно" к полю.
- hasAtLeast() public
Добавляет правило валидации, чтобы убедиться, что поле является массивом, содержащим по крайней мере указанное количество элементов.
- hasAtMost() public
Добавляет правило валидации, чтобы убедиться, что поле является массивом, содержащим не более указанного количества элементов.
- hasField() publicПроверяет, содержит ли валидатор какие-либо правила для данного поля.
- inList() publicДобавляет правило валидации, чтобы убедиться, что значение поля находится в белом списке.
- integer() publicДобавляет правило валидации, чтобы убедиться, что поле имеет целочисленное значение.
- ip() publicДобавляет правило валидации IP к полю.
- ipv4() publicДобавляет правило валидации IPv4 к полю.
- ipv6() publicДобавляет правило валидации IPv6 к полю.
- isArray() publicДобавляет правило валидации, чтобы убедиться, что поле содержит массив.
- isEmptyAllowed() public
Возвращает, разрешено ли поле оставлять пустым для новой или уже существующей записи.
- isPresenceRequired() public
Возвращает, обязательно ли поле должно быть указано для новой или уже существующей записи.
- latLong() publicДобавляет правило валидации, чтобы убедиться, что поле является кортежем широты/долготы.
- latitude() publicДобавляет правило валидации, чтобы убедиться, что поле является широтой.
- lengthBetween() publicДобавляет правило, которое гарантирует, что длина строки находится в заданном диапазоне.
- lessThan() publicДобавляет правило сравнения "меньше чем" к полю.
- lessThanOrEqual() publicДобавляет правило сравнения "меньше или равно" к полю.
- localizedTime() publicДобавляет правило валидации формата локального времени, даты или даты и времени к полю.
- longitude() publicДобавляет правило валидации, чтобы убедиться, что поле является долготой.
- maxLength() publicДобавляет правило валидации длины строки к полю.
- minLength() publicДобавляет правило валидации длины строки к полю.
- multipleOptions() publicДобавляет правило валидации для множественного выбора. Сравнение по умолчанию чувствительно к регистру.
- naturalNumber() publicДобавляет правило валидации для натурального числа к полю.
- nonNegativeInteger() publicДобавляет правило валидации, чтобы убедиться, что поле является неотрицательным целым числом.
- notBlank() publicДобавляет правило notBlank к полю.
- notEmpty() publicУстанавливает требование к полю, чтобы оно не было пустым.
- notEquals() publicДобавляет правило сравнения "не равно" к полю.
- numeric() publicДобавляет правило валидации числового значения к полю.
- offsetExists() publicВозвращает, определён ли набор правил для поля или нет
- offsetGet() publicВозвращает набор правил для поля
- offsetSet() publicУстанавливает набор правил для поля
- offsetUnset() publicУдаляет набор правил для поля
- provider() public
Ассоциирует объект с именем, чтобы его можно было использовать в качестве поставщика. Поставщики — это объекты или имена классов, которые могут содержать методы, используемые во время проверки, для определения того, может ли быть применено правило проверки. Все методы проверки, при вызове, получат полный список поставщиков, хранящихся в этом валидаторе.
- providers() publicПолучить список поставщиков в этом валидаторе.
- range() publicДобавляет правило проверки, чтобы убедиться, что поле находится в числовом диапазоне.
- remove() publicУдаляет правило из набора по его имени.
- requirePresence() publicУстанавливает, требуется ли наличие поля в массиве данных.
- sameAs() publicДобавляет правило для сравнения двух полей друг с другом.
- time() publicДобавляет правило проверки формата времени для поля.
- uploadedFile() publicДобавляет правило проверки, чтобы убедиться, что поле является загруженным файлом.
- url() publicДобавляет правило проверки, чтобы убедиться, что поле является URL-адресом.
- urlWithProtocol() publicДобавляет правило проверки, чтобы убедиться, что поле является URL-адресом.
- utf8() publicДобавляет правило проверки, чтобы убедиться, что поле содержит только байты BMP utf8.
- utf8Extended() publicДобавляет правило проверки, чтобы убедиться, что поле содержит только байты utf8.
- uuid() publicДобавляет правило проверки, чтобы убедиться, что поле является UUID.
Подробное описание метода
_canBeEmpty()source protected
_canBeEmpty( Cake\Validation\ValidationSet $field , array $context )
Возвращает, может ли поле быть пустым в соответствии с allowEmpty
Параметры
-
Cake\Validation\ValidationSet$field - набор правил для поля
- массив
$context - список значений данных, содержащий контекст валидации.
Возвращает
boolean_checkPresence()source protected
_checkPresence( Cake\Validation\ValidationSet $field , array $context )
Возвращает false, если любая проверка для переданного набора правил должна быть остановлена из-за отсутствия поля в массиве данных
Параметры
-
Cake\Validation\ValidationSet$field - Набор правил для поля.
- массив
$context - Список значений данных, содержащий контекст валидации.
Возвращает
boolean_fieldIsEmpty()source protected
_fieldIsEmpty( mixed $data )
Возвращает true, если поле пусто в переданном массиве данных
Параметры
- смешанный
$data - значение для проверки
Возвращает
boolean_processRules()source protected
_processRules( string $field , Cake\Validation\ValidationSet $rules , array $data , boolean $newRecord )
Итерирует по каждому правилу в наборе валидации и собирает ошибки, возникшие в результате их выполнения
Параметры
- строка
$field - Имя поля, которое обрабатывается
-
Cake\Validation\ValidationSet$rules - список правил для поля
- массив
$data - полные данные, переданные валидатору
- boolean
$newRecord - является ли это новой записью или существующей
Возвращает
arrayadd()source public
add( string $field , array|string $name , array|Cake\Validation\ValidationRule $rule [] )
Добавляет новое правило к набору правил поля. Если второй аргумент является массивом, список правил для поля будет заменён вторым аргументом, и третий аргумент будет проигнорирован.
Пример:
$validator
->add('title', 'required', ['rule' => 'notBlank'])
->add('user_id', 'valid', ['rule' => 'numeric', 'message' => 'Invalid User'])
$validator->add('password', [
'size' => ['rule' => ['lengthBetween', 8, 20]],
'hasSpecialCharacter' => ['rule' => 'validateSpecialchar', 'message' => 'not valid']
]); Параметры
- строка
$field - Имя поля, из которого будет удалено правило
- массив|строка
$name - Псевдоним для одиночного правила или массива множественных правил
- массив|
Cake\Validation\ValidationRule$ruleoptional [] - правило для добавления
Возвращает
$this
addNested()source public
addNested( string $field , Cake\Validation\Validator $validator )
Добавляет вложенный валидатор.
Вложенные валидаторы позволяют определять валидаторы для массивов. Например, вложенные валидаторы идеально подходят, когда вам нужно валидировать поддокумент или сложный тип массива.
Этот метод предполагает, что поддокумент имеет 1:1 отношение с родителем.
Поставщики родительского валидатора будут синхронизированы с вложенным валидатором при проверке ошибок. Это гарантирует, что все поставщики правил валидации, подключенные в родительском валидаторе, будут иметь те же значения во вложенном валидаторе при оценке правил.
Параметры
- строка
$field - Корневое поле для вложенного валидатора.
-
Cake\Validation\Validator$validator - Вложенный валидатор.
Возвращает
$this
addNestedMany()source public
addNestedMany( string $field , Cake\Validation\Validator $validator )
Добавляет вложенный валидатор.
Вложенные валидаторы позволяют определять валидаторы для массивов. Например, вложенные валидаторы идеально подходят, когда вам нужно валидировать много похожих поддокументов или сложные типы массивов.
Этот метод предполагает, что поддокумент имеет отношение 1:N с родителем.
Поставщики родительского валидатора будут синхронизированы с вложенным валидатором при проверке ошибок. Это гарантирует, что все поставщики правил валидации, подключенные в родительском валидаторе, будут иметь те же значения во вложенном валидаторе при оценке правил.
Параметры
- строка
$field - Корневое поле для вложенного валидатора.
-
Cake\Validation\Validator$validator - Вложенный валидатор.
Возвращает
$this
allowEmpty()source public
allowEmpty( string $field , boolean|string|callable $when true , string|null $message null )
Разрешает поле быть пустым.
Это противоположно notEmpty(), которое требует, чтобы поле не было пустым. Используя $mode, равный 'create' или 'update', вы можете разрешить поля быть пустыми при первом создании записей или при их обновлении.
Пример:
$validator->allowEmpty('email'); // Email can be empty
$validator->allowEmpty('email', 'create'); // Email can be empty on create
$validator->allowEmpty('email', 'update'); // Email can be empty on update Возможна условная возможность пустоты поля путём передачи обратного вызова в качестве второго аргумента. Обратный вызов получит массив контекста валидации в качестве аргумента:
$validator->allowEmpty('email', function ($context) {
return !$context['newRecord'] || $context['data']['role'] === 'admin';
}); Этот метод правильно обнаружит пустые загрузки файлов и поля даты/времени/datetime.
Поскольку этот и notEmpty() изменяют один и тот же внутренний статус, последний вызванный метод будет иметь приоритет.
Параметры
- строка
$field - имя поля
- boolean|string|callable
$whenoptional true Указывает, когда поле разрешается быть пустым. Допустимые значения — true (всегда), 'create', 'update'. Если передан вызываемый объект, поле разрешается быть пустым только когда вызываемый объект возвращает true.
- строка|null
$messageoptional null - Сообщение, отображаемое, если поле не пустое
Возвращает
$this
alphaNumeric()source public
alphaNumeric( string $field , string|null $message null , string|callable|null $when null )
Добавить правило проверки на алфавитно-цифровые символы для поля.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- строка|null
$messageнеобязательно null - Сообщение об ошибке при нарушении правила.
- строка|вызываемый объект|null
$whenнеобязательно null Значение 'create' или 'update' или вызываемый объект, возвращающий true, если правило должно быть применено.
Возвращаемое значение
$this
См. также
\Cake\Validation\Validation::alphaNumeric()ascii()source public
ascii( string $field , string|null $message null , string|callable|null $when null )
Добавить правило проверки, чтобы убедиться, что поле содержит только символы ASCII.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- строка|null
$messageнеобязательно null - Сообщение об ошибке при нарушении правила.
- строка|вызываемый объект|null
$whenнеобязательно null Значение 'create' или 'update' или вызываемый объект, возвращающий true, если правило должно быть применено.
Возвращаемое значение
$this
См. также
\Cake\Validation\Validation::ascii()boolean()source public
boolean( string $field , string|null $message null , string|callable|null $when null )
Добавить правило проверки на булево значение для поля.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- строка|null
$messageнеобязательно null - Сообщение об ошибке при нарушении правила.
- строка|вызываемый объект|null
$whenнеобязательно null Значение 'create' или 'update' или вызываемый объект, возвращающий true, если правило должно быть применено.
Возвращаемое значение
$this
См. также
\Cake\Validation\Validation::boolean()containsNonAlphaNumeric()source public
containsNonAlphaNumeric( string $field , integer $limit 1 , string|null $message null , string|callable|null $when null )
Добавить правило для проверки, содержит ли поле не алфавитно-цифровые символы.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- целое число
$limitнеобязательно 1 - Минимальное количество не алфавитно-цифровых символов.
- строка|null
$messageнеобязательно null - Сообщение об ошибке при нарушении правила.
- строка|вызываемый объект|null
$whenнеобязательно null Значение 'create' или 'update' или вызываемый объект, возвращающий true, если правило должно быть применено.
Возвращаемое значение
$this
См. также
\Cake\Validation\Validation::containsNonAlphaNumeric()count()source public
count( )
Возвращает количество полей, имеющих правила валидации.
Возвращаемое значение
целое числоРеализация
Countable::count() creditCard()source public
creditCard( string $field , string $type 'all' , string|null $message null , string|callable|null $when null )
Добавить правило проверки номера кредитной карты для поля.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- строка
$typeнеобязательно 'all' Тип карт, которые нужно разрешить. По умолчанию 'all'. Также можно указать массив допустимых типов карт. Например
['mastercard', 'visa', 'amex']- строка|null
$messageнеобязательно null - Сообщение об ошибке при нарушении правила.
- строка|вызываемый объект|null
$whenнеобязательно null Значение 'create' или 'update' или вызываемый объект, возвращающий true, если правило должно быть применено.
Возвращаемое значение
$this
См. также
\Cake\Validation\Validation::cc()date()source public
date( string $field , array $formats ['ymd'] , string|null $message null , string|callable|null $when null )
Добавить правило проверки формата даты для поля.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- массив
$formatsнеобязательно ['ymd'] - Список допустимых форматов даты.
- строка|null
$messageнеобязательно null - Сообщение об ошибке при нарушении правила.
- строка|вызываемый объект|null
$whenнеобязательно null Значение 'create' или 'update' или вызываемый объект, возвращающий true, если правило должно быть применено.
Возвращаемое значение
$this
См. также
\Cake\Validation\Validation::date()dateTime()source public
dateTime( string $field , array $formats ['ymd'] , string|null $message null , string|callable|null $when null )
Добавить правило проверки формата даты и времени для поля.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- массив
$formatsнеобязательно ['ymd'] - Список допустимых форматов даты.
- строка|null
$messageнеобязательно null - Сообщение об ошибке при нарушении правила.
- строка|вызываемый объект|null
$whenнеобязательно null Значение 'create' или 'update' или вызываемый объект, возвращающий true, если правило должно быть применено.
Возвращаемое значение
$this
См. также
\Cake\Validation\Validation::datetime()decimal()source public
decimal( string $field , integer|null $places null , string|null $message null , string|callable|null $when null )
Добавить правило проверки на десятичное число для поля.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- целое число|null
$placesнеобязательно null - Количество знаков после запятой.
- строка|null
$messageнеобязательно null - Сообщение об ошибке при нарушении правила.
- строка|вызываемый объект|null
$whenнеобязательно null Значение 'create' или 'update' или вызываемый объект, возвращающий true, если правило должно быть применено.
Возвращаемое значение
$this
См. также
\Cake\Validation\Validation::decimal()email()source public
email( string $field , boolean $checkMX false , string|null $message null , string|callable|null $when null )
Добавить правило проверки электронной почты для поля.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- логическое значение
$checkMXнеобязательно false - Проверять ли MX-записи.
- строка|null
$messageнеобязательно null - Сообщение об ошибке при нарушении правила.
- строка|вызываемый объект|null
$whenнеобязательно null Значение 'create' или 'update' или вызываемый объект, возвращающий true, если правило должно быть применено.
Возвращаемое значение
$this
См. также
\Cake\Validation\Validation::email()equals()source public
equals( string $field , integer|float $value , string|null $message null , string|callable|null $when null )
Добавить правило сравнения "равно" для поля.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- целое число|вещественное число
$value - Значение, с которым должно совпадать пользовательское значение.
- строка|null
$messageнеобязательно null - Сообщение об ошибке при нарушении правила.
- строка|вызываемый объект|null
$whenнеобязательно null Значение 'create' или 'update' или вызываемый объект, возвращающий true, если правило должно быть применено.
Возвращаемое значение
$this
См. также
\Cake\Validation\Validation::comparison()errors()source public
errors( array $data , boolean $newRecord true )
Возвращает массив полей, которые не прошли валидацию. На текущей модели. Этот метод фактически выполнит правила валидации данных, а не просто вернёт сообщения.
Параметры
- массив
$data - Данные, которые необходимо проверить на ошибки
- булево
$newRecordнеобязательно true - указывает, являются ли данные, подлежащие валидации, новыми или обновляемыми.
Возвращает
массивМассив недопустимых полей
field()source public
field( string $name , Cake\Validation\ValidationSet $set null )
Возвращает объект ValidationSet, содержащий все правила валидации для поля. Если в качестве второго аргумента передать ValidationSet, он заменит любой другой набор правил, определённый ранее.
Параметры
- строка
$name - [необязательно] Имя поля для извлечения.
-
Cake\Validation\ValidationSet$setнеобязательно null - Набор правил для поля
Возвращает
Cake\Validation\ValidationSetgetIterator()source public
getIterator( )
Возвращает итератор для каждого из полей, подлежащих валидации.
Возвращает
ArrayIteratorРеализация
IteratorAggregate::getIterator() greaterThan()source public
greaterThan( string $field , integer|float $value , string|null $message null , string|callable|null $when null )
Добавляет правило сравнения больше чем к полю.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- целое число|число с плавающей точкой
$value - Значение, которое пользовательские данные должны быть больше.
- строка|null
$messageнеобязательно null - Сообщение об ошибке, когда правило не выполняется.
- строка|callable|null
$whenнеобязательно null Либо 'create', либо 'update', либо вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$this
См. также
\Cake\Validation\Validation::comparison()greaterThanOrEqual()source public
greaterThanOrEqual( string $field , integer|float $value , string|null $message null , string|callable|null $when null )
Добавляет правило сравнения больше или равно к полю.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- целое число|число с плавающей точкой
$value - Значение, которое пользовательские данные должны быть больше или равны.
- строка|null
$messageнеобязательно null - Сообщение об ошибке, когда правило не выполняется.
- строка|callable|null
$whenнеобязательно null Либо 'create', либо 'update', либо вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$this
См. также
\Cake\Validation\Validation::comparison()hasAtLeast()source public
hasAtLeast( string $field , integer $count , string|null $message null , string|callable|null $when null )
Добавляет правило валидации, чтобы убедиться, что поле является массивом, содержащим не менее указанного количества элементов.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- целое число
$count - Количество элементов, которые массив должен содержать как минимум.
- строка|null
$messageнеобязательно null - Сообщение об ошибке, когда правило не выполняется.
- строка|callable|null
$whenнеобязательно null Либо 'create', либо 'update', либо вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$this
См. также
\Cake\Validation\Validation::numElements()hasAtMost()source public
hasAtMost( string $field , integer $count , string|null $message null , string|callable|null $when null )
Добавляет правило валидации, чтобы убедиться, что поле является массивом, содержащим не более указанного количества элементов.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- целое число
$count - Максимальное количество элементов, которые поле должно содержать.
- строка|null
$messageнеобязательно null - Сообщение об ошибке, когда правило не выполняется.
- строка|callable|null
$whenнеобязательно null Либо 'create', либо 'update', либо вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$this
См. также
\Cake\Validation\Validation::numElements()hasField()source public
hasField( string $name )
Проверяет, содержит ли валидатор правила для данного поля.
Параметры
- строка
$name - Имя поля для проверки.
Возвращает
булевоinList()source public
inList( string $field , array $list , string|null $message null , string|callable|null $when null )
Добавляет правило валидации, чтобы убедиться, что значение поля находится в белом списке.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- массив
$list - Список допустимых вариантов.
- строка|null
$messageнеобязательно null - Сообщение об ошибке, когда правило не выполняется.
- строка|callable|null
$whenнеобязательно null Либо 'create', либо 'update', либо вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$this
См. также
\Cake\Validation\Validation::inList()integer()source public
integer( string $field , string|null $message null , string|callable|null $when null )
Добавляет правило валидации, чтобы убедиться, что поле имеет целочисленное значение.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- строка|null
$messageнеобязательно null - Сообщение об ошибке, когда правило не выполняется.
- строка|callable|null
$whenнеобязательно null Либо 'create', либо 'update', либо вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$this
См. также
\Cake\Validation\Validation::isInteger()ip()source public
ip( string $field , string|null $message null , string|callable|null $when null )
Добавляет правило валидации IP-адреса к полю.
Это правило примет как IPv4, так и IPv6 адреса.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- строка|null
$messageнеобязательно null - Сообщение об ошибке, когда правило не выполняется.
- строка|callable|null
$whenнеобязательно null Либо 'create', либо 'update', либо вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$this
См. также
\Cake\Validation\Validation::ip()ipv4()source public
ipv4( string $field , string|null $message null , string|callable|null $when null )
Добавляет правило валидации IPv4 к полю.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- строка|null
$messageнеобязательно null - Сообщение об ошибке, когда правило не выполняется.
- строка|callable|null
$whenнеобязательно null Либо 'create', либо 'update', либо вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$this
См. также
\Cake\Validation\Validation::ip()ipv6()source public
ipv6( string $field , string|null $message null , string|callable|null $when null )
Добавить правило валидации IPv6 для поля.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- строка|null
$messageнеобязательно null - Сообщение об ошибке при невыполнении правила.
- строка|вызов|null
$whenнеобязательно null Либо 'create', либо 'update', либо вызов, возвращающий true, когда правило валидации должно применяться.
Возвращает
$this
См. также
\Cake\Validation\Validation::ip()isArray()source public
isArray( string $field , string|null $message null , string|callable|null $when null )
Добавить правило валидации, чтобы убедиться, что поле содержит массив.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- строка|null
$messageнеобязательно null - Сообщение об ошибке при невыполнении правила.
- строка|вызов|null
$whenнеобязательно null Либо 'create', либо 'update', либо вызов, возвращающий true, когда правило валидации должно применяться.
Возвращает
$this
isEmptyAllowed()source public
isEmptyAllowed( string $field , boolean $newRecord )
Возвращает, разрешено ли поле оставлять пустым для новой или уже существующей записи.
Параметры
- строка
$field - Имя поля.
- булево
$newRecord - указывает, являются ли данные для проверки новыми или подлежат обновлению.
Возвращает
booleanisPresenceRequired()source public
isPresenceRequired( string $field , boolean $newRecord )
Возвращает, разрешено ли опустить поле для новой или уже существующей записи.
Параметры
- строка
$field - Имя поля.
- булево
$newRecord - указывает, являются ли данные для проверки новыми или подлежат обновлению.
Возвращает
booleanlatLong()source public
latLong( string $field , string|null $message null , string|callable|null $when null )
Добавить правило валидации, чтобы убедиться, что поле является кортежем широты/долготы.
Например: <lat>, <lng>
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- строка|null
$messageнеобязательно null - Сообщение об ошибке при невыполнении правила.
- строка|вызов|null
$whenнеобязательно null Либо 'create', либо 'update', либо вызов, возвращающий true, когда правило валидации должно применяться.
Возвращает
$this
См. также
\Cake\Validation\Validation::uuid()latitude()source public
latitude( string $field , string|null $message null , string|callable|null $when null )
Добавить правило валидации, чтобы убедиться, что поле является широтой.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- строка|null
$messageнеобязательно null - Сообщение об ошибке при невыполнении правила.
- строка|вызов|null
$whenнеобязательно null Либо 'create', либо 'update', либо вызов, возвращающий true, когда правило валидации должно применяться.
Возвращает
$this
См. также
\Cake\Validation\Validation::latitude()lengthBetween()source public
lengthBetween( string $field , array $range , string|null $message null , string|callable|null $when null )
Добавить правило, которое гарантирует, что длина строки находится в заданном диапазоне.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- массив
$range - Включительно минимальная и максимальная длина, разрешённые для поля.
- строка|null
$messageнеобязательно null - Сообщение об ошибке при невыполнении правила.
- строка|вызов|null
$whenнеобязательно null Либо 'create', либо 'update', либо вызов, возвращающий true, когда правило валидации должно применяться.
Возвращает
$this
См. также
\Cake\Validation\Validation::alphaNumeric()lessThan()source public
lessThan( string $field , integer|float $value , string|null $message null , string|callable|null $when null )
Добавить правило сравнения "меньше чем" для поля.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- целое число|число с плавающей точкой
$value - Значение, которое данные пользователя должны быть меньше.
- строка|null
$messageнеобязательно null - Сообщение об ошибке при невыполнении правила.
- строка|вызов|null
$whenнеобязательно null Либо 'create', либо 'update', либо вызов, возвращающий true, когда правило валидации должно применяться.
Возвращает
$this
См. также
\Cake\Validation\Validation::comparison()lessThanOrEqual()source public
lessThanOrEqual( string $field , integer|float $value , string|null $message null , string|callable|null $when null )
Добавить правило сравнения "меньше или равно" для поля.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- целое число|число с плавающей точкой
$value - Значение, которому данные пользователя должны быть меньше или равны.
- строка|null
$messageнеобязательно null - Сообщение об ошибке при невыполнении правила.
- строка|вызов|null
$whenнеобязательно null Либо 'create', либо 'update', либо вызов, возвращающий true, когда правило валидации должно применяться.
Возвращает
$this
См. также
\Cake\Validation\Validation::comparison()localizedTime()source public
localizedTime( string $field , string $type 'datetime' , string|null $message null , string|callable|null $when null )
Добавить правило валидации локализованного формата времени, даты или даты и времени для поля.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- строка
$typeнеобязательно 'datetime' - Тип парсера, один из 'date', 'time' и 'datetime'
- строка|null
$messageнеобязательно null - Сообщение об ошибке при невыполнении правила.
- строка|вызов|null
$whenнеобязательно null Либо 'create', либо 'update', либо вызов, возвращающий true, когда правило валидации должно применяться.
Возвращает
$this
См. также
\Cake\Validation\Validation::localizedTime()longitude()source public
longitude( string $field , string|null $message null , string|callable|null $when null )
Добавить правило валидации, чтобы убедиться, что поле является долготой.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- строка|null
$messageнеобязательно null - Сообщение об ошибке при невыполнении правила.
- строка|вызов|null
$whenнеобязательно null Либо 'create', либо 'update', либо вызов, возвращающий true, когда правило валидации должно применяться.
Возвращает
$this
См. также
\Cake\Validation\Validation::longitude()maxLength()source public
maxLength( string $field , integer $max , string|null $message null , string|callable|null $when null )
Добавить правило валидации длины строки для поля.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- целое число
$max - Максимальная длина, разрешенная для поля.
- строка|null
$messageнеобязательно null - Сообщение об ошибке, если правило не выполняется.
- строка|вызываемый объект|null
$whenнеобязательно null Значение 'create' или 'update', или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$this
См. также
\Cake\Validation\Validation::maxLength()minLength()source public
minLength( string $field , integer $min , string|null $message null , string|callable|null $when null )
Добавить правило валидации длины строки для поля.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- целое число
$min - Минимальная требуемая длина.
- строка|null
$messageнеобязательно null - Сообщение об ошибке, если правило не выполняется.
- строка|вызываемый объект|null
$whenнеобязательно null Значение 'create' или 'update', или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$this
См. также
\Cake\Validation\Validation::minLength()multipleOptions()source public
multipleOptions( string $field , array $options [] , string|null $message null , string|callable|null $when null )
Добавить правило валидации для множественного выбора. Сравнение по умолчанию регистрозависимое.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- массив
$optionsнеобязательно [] Параметры валидатора. Включает параметры, определенные в \Cake\Validation\Validation::multiple(), и параметр
caseInsensitive.- строка|null
$messageнеобязательно null - Сообщение об ошибке, если правило не выполняется.
- строка|вызываемый объект|null
$whenнеобязательно null Значение 'create' или 'update', или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$this
См. также
\Cake\Validation\Validation::multiple()naturalNumber()source public
naturalNumber( string $field , string|null $message null , string|callable|null $when null )
Добавить правило валидации для натурального числа для поля.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- строка|null
$messageнеобязательно null - Сообщение об ошибке, если правило не выполняется.
- строка|вызываемый объект|null
$whenнеобязательно null Значение 'create' или 'update', или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$this
См. также
\Cake\Validation\Validation::naturalNumber()nonNegativeInteger()source public
nonNegativeInteger( string $field , string|null $message null , string|callable|null $when null )
Добавить правило валидации, чтобы убедиться, что поле является неотрицательным целым числом.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- строка|null
$messageнеобязательно null - Сообщение об ошибке, если правило не выполняется.
- строка|вызываемый объект|null
$whenнеобязательно null Значение 'create' или 'update', или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$this
См. также
\Cake\Validation\Validation::naturalNumber()notBlank()source public
notBlank( string $field , string|null $message null , string|callable|null $when null )
Добавить правило notBlank к полю.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- строка|null
$messageнеобязательно null - Сообщение об ошибке, если правило не выполняется.
- строка|вызываемый объект|null
$whenнеобязательно null Значение 'create' или 'update', или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$this
См. также
\Cake\Validation\Validation::notBlank()notEmpty()source public
notEmpty( string $field , string|null $message null , boolean|string|callable $when false )
Устанавливает требование для поля, чтобы оно не было пустым.
Это противоположно allowEmpty(), которое позволяет полю быть пустым. Используя $mode равным 'create' или 'update', вы можете сделать поля обязательными при первом создании записей или при их обновлении.
Пример:
$message = 'This field cannot be empty';
$validator->notEmpty('email'); // Email cannot be empty
$validator->notEmpty('email', $message, 'create'); // Email can be empty on update
$validator->notEmpty('email', $message, 'update'); // Email can be empty on create Возможна условная запрет пустоты поля, передав коллбек в качестве третьего аргумента. Коллбек получит массив контекста валидации в качестве аргумента:
$validator->notEmpty('email', 'Email is required', function ($context) {
return $context['newRecord'] && $context['data']['role'] !== 'admin';
}); Поскольку этот и allowEmpty() изменяют одно и то же внутреннее состояние, последний вызванный метод будет иметь приоритет.
Параметры
- строка
$field - имя поля
- строка|null
$messageнеобязательно null - Сообщение, которое будет показано, если поле не
- boolean|строка|вызываемый объект
$whenнеобязательно false Указывает, когда полю запрещено быть пустым. Допустимые значения: true (всегда), 'create', 'update'. Если передан вызываемый объект, поле будет пустым только тогда, когда коллбек возвращает false.
Возвращает
$this
notEquals()source public
notEquals( string $field , integer|float $value , string|null $message null , string|callable|null $when null )
Добавить правило сравнения, отличное от значения, для поля.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- целое число|вещественное число
$value - Значение, которому данные пользователя не должны быть равны.
- строка|null
$messageнеобязательно null - Сообщение об ошибке, если правило не выполняется.
- строка|вызываемый объект|null
$whenнеобязательно null Значение 'create' или 'update', или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$this
См. также
\Cake\Validation\Validation::comparison()numeric()source public
numeric( string $field , string|null $message null , string|callable|null $when null )
Добавить правило валидации для числового значения для поля.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- строка|null
$messageнеобязательно null - Сообщение об ошибке, если правило не выполняется.
- строка|вызываемый объект|null
$whenнеобязательно null Значение 'create' или 'update', или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$this
См. также
\Cake\Validation\Validation::numeric()offsetExists()source public
offsetExists( string $field )
Возвращает, определено ли правило набора для поля или нет
Параметры
- строка
$field - имя поля для проверки
Возвращает
booleanРеализация
ArrayAccess::offsetExists() offsetGet()source public
offsetGet( string $field )
Возвращает набор правил для поля
Параметры
- строка
$field - имя поля для проверки
Возвращает
Cake\Validation\ValidationSetРеализация
ArrayAccess::offsetGet() offsetSet()source public
offsetSet( string $field , array|Cake\Validation\ValidationSet $rules )
Устанавливает набор правил для поля
Параметры
- строка
$field - имя поля для установки
- массив|
Cake\Validation\ValidationSet$rules - набор правил для применения к полю
Реализация
ArrayAccess::offsetSet() offsetUnset()source public
offsetUnset( string $field )
Удаляет набор правил для поля
Параметры
- строка
$field - имя поля для удаления
Реализация
ArrayAccess::offsetUnset() provider()source public
provider( string $name , null|object|string $object null )
Связывает объект с именем, чтобы он мог использоваться как поставщик. Поставщики — это объекты или имена классов, которые могут содержать методы, используемые во время проверки, для определения того, можно ли применять правило проверки. Все методы проверки при вызове получат полный список поставщиков, хранящихся в этом валидаторе.
Если вызов выполнен без аргументов, он вернёт поставщика, хранящегося под этим именем, если он существует; в противном случае он возвращает этот экземпляр цепочки.
Параметры
- строка
$name - Имя, под которым должен быть установлен поставщик.
- null|объект|строка
$objectнеобязательно null - Объект-поставщик или имя класса.
Возвращает
$this|объект|строка|null
providers()source public
providers( )
Получить список поставщиков в этом валидаторе.
Возвращает
массивrange()source public
range( string $field , array $range , string|null $message null , string|callable|null $when null )
Добавить правило проверки для обеспечения того, что поле находится в числовом диапазоне
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- массив
$range - Включительно верхняя и нижняя границы допустимого диапазона.
- строка|null
$messageнеобязательно null - Сообщение об ошибке, если правило не выполняется.
- строка|вызов функции|null
$whenнеобязательно null «create», «update» или вызов функции, возвращающий true, когда правило проверки должно быть применено.
Возвращает
$this
См. также
\Cake\Validation\Validation::range()remove()source public
remove( string $field , string|null $rule null )
Удаляет правило из набора по его имени
Пример:
$validator
->remove('title', 'required')
->remove('user_id') Параметры
- строка
$field - Имя поля, из которого будет удалено правило
- строка|null
$ruleнеобязательно null - имя правила, которое нужно удалить
Возвращает
$this
requirePresence()source public
requirePresence( string $field , boolean|string|callable $mode true , string|null $message null )
Устанавливает, требуется ли наличие поля в массиве данных.
Параметры
- строка
$field - имя поля
- boolean|строка|вызов функции
$modeнеобязательно true Допустимые значения: true, false, 'create', 'update'. Если передан вызов функции, то поле будет требоваться только тогда, когда обратная функция возвращает true.
- строка|null
$messageнеобязательно null - Сообщение, которое нужно отобразить, если проверка наличия поля завершится неудачно.
Возвращает
$this
sameAs()source public
sameAs( mixed $field , mixed $secondField , string|null $message null , string|callable|null $when null )
Добавить правило для сравнения двух полей друг с другом.
Если значения обоих полей точно совпадают, правило выполнится.
Параметры
- смешанный
$field - Поле, к которому нужно применить правило.
- смешанный
$secondField - Поле, с которым нужно сравнить.
- строка|null
$messageнеобязательно null - Сообщение об ошибке, если правило не выполняется.
- строка|вызов функции|null
$whenнеобязательно null «create», «update» или вызов функции, возвращающий true, когда правило проверки должно быть применено.
Возвращает
$this
См. также
\Cake\Validation\Validation::compareWith()time()source public
time( string $field , string|null $message null , string|callable|null $when null )
Добавить правило проверки формата времени для поля.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- строка|null
$messageнеобязательно null - Сообщение об ошибке, если правило не выполняется.
- строка|вызов функции|null
$whenнеобязательно null «create», «update» или вызов функции, возвращающий true, когда правило проверки должно быть применено.
Возвращает
$this
См. также
\Cake\Validation\Validation::time()uploadedFile()source public
uploadedFile( string $field , array $options , string|null $message null , string|callable|null $when null )
Добавить правило проверки для обеспечения того, что поле является загруженным файлом
Для вариантов см. Cake\Validation\Validation::uploadedFile()
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- массив
$options - Массив опций.
- строка|null
$messageнеобязательно null - Сообщение об ошибке, если правило не выполняется.
- строка|вызов функции|null
$whenнеобязательно null «create», «update» или вызов функции, возвращающий true, когда правило проверки должно быть применено.
Возвращает
$this
См. также
\Cake\Validation\Validation::uploadedFile()url()source public
url( string $field , string|null $message null , string|callable|null $when null )
Добавить правило проверки для обеспечения того, что поле является URL.
Валидатор не требует протокола.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- строка|null
$messageнеобязательно null - Сообщение об ошибке, если правило не выполняется.
- строка|вызов функции|null
$whenнеобязательно null «create», «update» или вызов функции, возвращающий true, когда правило проверки должно быть применено.
Возвращает
$this
См. также
\Cake\Validation\Validation::url()urlWithProtocol()source public
urlWithProtocol( string $field , string|null $message null , string|callable|null $when null )
Добавить правило проверки для обеспечения того, что поле является URL.
Этот валидатор требует, чтобы URL имел протокол.
Параметры
- строка
$field - Поле, к которому нужно применить правило.
- строка|null
$messageнеобязательно null - Сообщение об ошибке, если правило не выполняется.
- строка|вызов функции|null
$whenнеобязательно null «create», «update» или вызов функции, возвращающий true, когда правило проверки должно быть применено.
Возвращает
$this
См. также
\Cake\Validation\Validation::url()utf8()source public
utf8( string $field , string|null $message null , string|callable|null $when null )
Добавить правило валидации, чтобы убедиться, что поле содержит только байты BMP utf8.
Параметры
- string
$field - Поле, к которому нужно применить правило.
- string|null
$messageнеобязательно null - Сообщение об ошибке, если правило не выполняется.
- string|callable|null
$whenнеобязательно null Либо 'create', либо 'update', либо вызываемый объект, возвращающий true, когда правило валидации должно применяться.
Возвращает
$this
См. также
\Cake\Validation\Validation::utf8()utf8Extended()source public
utf8Extended( string $field , string|null $message null , string|callable|null $when null )
Добавить правило валидации, чтобы убедиться, что поле содержит только байты utf8.
Это правило будет принимать 3- и 4-байтовые последовательности UTF8, которые необходимы для эмодзи.
Параметры
- string
$field - Поле, к которому нужно применить правило.
- string|null
$messageнеобязательно null - Сообщение об ошибке, если правило не выполняется.
- string|callable|null
$whenнеобязательно null Либо 'create', либо 'update', либо вызываемый объект, возвращающий true, когда правило валидации должно применяться.
Возвращает
$this
См. также
\Cake\Validation\Validation::utf8()uuid()source public
uuid( string $field , string|null $message null , string|callable|null $when null )
Добавить правило валидации, чтобы убедиться, что поле является UUID.
Параметры
- string
$field - Поле, к которому нужно применить правило.
- string|null
$messageнеобязательно null - Сообщение об ошибке, если правило не выполняется.
- string|callable|null
$whenнеобязательно null Либо 'create', либо 'update', либо вызываемый объект, возвращающий true, когда правило валидации должно применяться.
Возвращает
$this
См. также
\Cake\Validation\Validation::uuid()Подробное описание свойств
$_allowEmptyMessagessource
protected array
Содержит сообщения об ошибках валидации, связанные с проверкой пустоты для каждого соответствующего поля.
[]
$_presenceMessagessource
protected array
Содержит сообщения об ошибках валидации, связанные с проверкой наличия для каждого соответствующего поля.
[]
$_providerssource
protected array
Ассоциативный массив объектов или классов, содержащих методы, используемые для валидации.
[]
$_useI18nsource
protected boolean
Использовать ли функции I18n для перевода сообщений об ошибках по умолчанию?
false
© 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/3.2/class-Cake.Validation.Validator.html