Класс Validator
Объект Validator инкапсулирует все методы, связанные с проверкой данных для модели. Он также предоставляет API для динамического изменения правил проверки для каждого поля модели.
Реализует ArrayAccess для удобной модификации правил в наборе
Ссылка: https://book.cakephp.org/4/ru/core-libraries/validation.html
Константы
-
intEMPTY_ALLself::EMPTY_STRING | self::EMPTY_ARRAY | self::EMPTY_FILE | self::EMPTY_DATE | self::EMPTY_TIME
Сочетание всех флагов EMPTY_*
-
intEMPTY_ARRAY2
Флаг для allowEmptyFor()
Когда передан пустой массив, он будет распознаваться как пустой.
-
intEMPTY_DATE8
Флаг для allowEmptyFor()
Когда передан массив, если он содержит ключ
year, и содержит только пустые строки или значения null, он будет распознаваться как пустой. -
intEMPTY_FILE4
Флаг для allowEmptyFor()
Когда передан массив, если он содержит как минимум ключи
name,type,tmp_nameиerror, и значение ключаerrorравноUPLOAD_ERR_NO_FILE, значение будет распознаваться как пустое.Когда передан экземпляр \Psr\Http\Message\UploadedFileInterface, значение метода getError() должно быть равно
UPLOAD_ERR_NO_FILE. -
intEMPTY_NULL0
Флаг для allowEmptyFor()
Если передан
null, он будет распознаваться как пустой. -
intEMPTY_STRING1
Флаг для allowEmptyFor()
Если передана пустая строка, она будет распознаваться как пустая.
-
intEMPTY_TIME16
Флаг для allowEmptyFor()
Когда передан массив, если он содержит ключ
hour, и содержит только пустые строки или значения null, он будет распознаваться как пустой. -
stringNESTED'_nested'
Используется для флагования вложенных правил, созданных с помощью addNested() и addNestedMany()
-
stringWHEN_CREATE'create'
Используя «create», вы можете сделать поля обязательными при первом создании записей.
-
stringWHEN_UPDATE'update'
Используя «update», вы можете сделать поля обязательными при их обновлении.
Резюме свойств
- $_allowEmptyFlags protected
arrayСодержит флаги, которые определяют, что пусто для каждого соответствующего поля.
- $_allowEmptyMessages protected
arrayСодержит сообщения валидации, связанные с проверкой пустоты для каждого соответствующего поля.
- $_defaultProviders protected static
arrayАссоциативный массив объектов или классов, используемых в качестве списка поставщиков по умолчанию
- $_fields protected
Cake\Validation\ValidationSet[]Содержит массив объектов ValidationSet
- $_presenceMessages protected
arrayСодержит сообщения валидации, связанные с проверкой наличия для каждого соответствующего поля.
- $_providers protected
arrayАссоциативный массив объектов или классов, содержащих методы, используемые для валидации
- $_stopOnFailure protected
boolПрименять ли последний флаг к сгенерированному правилу(ам).
- $_useI18n protected
boolИспользовать ли функции I18n для перевода сообщений об ошибках по умолчанию
Краткое описание методов
-
__construct() public
Конструктор
-
__debugInfo() public
Получить печатную версию этого объекта.
-
_canBeEmpty() protected
Возвращает значение, указывающее, может ли поле быть пустым в соответствии с
allowEmpty -
_checkPresence() protected
Возвращает false, если проверка для переданного набора правил должна быть остановлена из-за отсутствия поля в массиве данных
-
_convertValidatorToArray() protected
Преобразует валидатор в массив fieldName => $settings
-
_fieldIsEmpty() protected deprecated
Возвращает true, если поле пустое в переданном массиве данных
-
_processRules() protected
Перебирает каждое правило в наборе валидации и собирает ошибки, возникшие в результате их выполнения
-
add() public
Добавляет новое правило к набору правил поля. Если второй аргумент является массивом, то список правил для поля будет заменён вторым аргументом, и третий аргумент будет проигнорирован.
-
addDefaultProvider() public static
Связывает объект с именем, чтобы его можно было использовать в качестве поставщика по умолчанию.
-
addNested() public
Добавляет вложенный валидатор.
-
addNestedMany() public
Добавляет вложенный валидатор.
-
allowEmpty() public deprecated
Разрешает поле быть пустым. Вы также можете передать массив. Использование массива позволит вам указать следующие ключи:
-
allowEmptyArray() public
Разрешает поле быть пустым массивом.
-
allowEmptyDate() public
Разрешает поле быть пустой датой.
-
allowEmptyDateTime() public
Разрешает поле быть пустой датой/временем.
-
allowEmptyFile() public
Разрешает поле быть пустым файлом.
-
allowEmptyFor() public
Метод низкого уровня, указывающий, что поле может быть пустым.
-
allowEmptyString() public
Разрешает поле быть пустой строкой.
-
allowEmptyTime() public
Разрешает поле быть пустым временем.
-
alphaNumeric() public
Добавить правило alphanumeric к полю.
-
ascii() public
Добавить правило валидации, чтобы убедиться, что поле содержит только байты ASCII
-
asciiAlphaNumeric() public
Добавить правило ascii-alphanumeric к полю.
-
boolean() public
Добавить правило валидации boolean к полю.
-
containsNonAlphaNumeric() public deprecated
Добавить правило для проверки наличия не-alphanumeric символов в поле.
-
count() public
Возвращает количество полей с правилами валидации
-
creditCard() public
Добавить правило кредитной карты к полю.
-
date() public
Добавить правило валидации формата даты к полю.
-
dateTime() public
Добавить правило валидации формата даты и времени к полю.
-
decimal() public
Добавить правило валидации decimal к полю.
-
email() public
Добавить правило валидации email к полю.
-
equalToField() public
Добавить правило сравнения, где одно поле равно другому.
-
equals() public
Добавить правило сравнения "равно" к полю.
-
errors() public deprecated
Проверяет и возвращает массив неверных полей и их сообщений об ошибках.
-
field() public
Возвращает объект ValidationSet, содержащий все правила валидации для поля. Если вторым аргументом передаётся ValidationSet, то он заменит любой другой ранее определённый набор правил.
-
getDefaultProvider() public static
Возвращает поставщика по умолчанию, сохранённого под этим именем, если он существует.
-
getDefaultProviders() public static
Получить список поставщиков по умолчанию.
-
getIterator() public
Возвращает итератор для каждого поля, которое нужно проверить.
-
getNotEmptyMessage() public
Получить сообщение notEmpty для поля
-
getProvider() public
Возвращает поставщика, сохранённого под этим именем, если он существует.
-
getRequiredMessage() public
Получить сообщение required для поля
-
greaterThan() public
Добавить правило сравнения "больше чем" к полю.
-
greaterThanField() public
Добавить правило сравнения, где одно поле больше другого.
-
greaterThanOrEqual() public
Добавить правило сравнения "больше или равно" к полю.
-
greaterThanOrEqualToField() public
Добавить правило сравнения, где одно поле больше или равно другому.
-
hasAtLeast() public
Добавить правило валидации, чтобы убедиться, что поле является массивом, содержащим не менее указанного количества элементов
-
hasAtMost() public
Добавить правило валидации, чтобы убедиться, что поле является массивом, содержащим не более указанного количества элементов
-
hasField() public
Проверить, содержит ли валидатор правила для данного поля.
-
hexColor() public
Добавить правило валидации, чтобы убедиться, что поле является значением цвета в формате шестнадцатеричного кода (6 цифр).
-
inList() public
Добавить правило валидации, чтобы убедиться, что значение поля находится в разрешённом списке.
-
integer() public
Добавить правило валидации, чтобы убедиться, что поле является целым числом.
-
invertWhenClause() protected
Инвертировать условие when для создания правил notEmpty.
-
ip() public
Добавить правило валидации IP для поля.
-
ipv4() public
Добавить правило валидации IPv4 для поля.
-
ipv6() public
Добавить правило валидации IPv6 для поля.
-
isArray() public
Добавить правило валидации, чтобы убедиться, что поле содержит массив.
-
isEmpty() protected
Возвращает true, если поле пустое в переданном массиве данных.
-
isEmptyAllowed() public
Возвращает, разрешено ли оставить поле пустым для новой или уже существующей записи.
-
isPresenceRequired() public
Возвращает, обязательно ли заполнять поле для новой или уже существующей записи.
-
latLong() public
Добавить правило валидации, чтобы убедиться, что поле представляет собой пару широта/долгота.
-
latitude() public
Добавить правило валидации, чтобы убедиться, что поле представляет собой широту.
-
lengthBetween() public
Добавить правило, гарантирующее, что длина строки находится в определённом диапазоне.
-
lessThan() public
Добавить правило сравнения "меньше", чем для поля.
-
lessThanField() public
Добавить правило сравнения "меньше", чем другое поле.
-
lessThanOrEqual() public
Добавить правило сравнения "меньше или равно" для поля.
-
lessThanOrEqualToField() public
Добавить правило сравнения "меньше или равно" другому полю.
-
localizedTime() public
Добавить правило валидации формата локального времени, даты или даты и времени для поля.
-
longitude() public
Добавить правило валидации, чтобы убедиться, что поле представляет собой долготу.
-
maxLength() public
Добавить правило валидации максимальной длины строки для поля.
-
maxLengthBytes() public
Добавить правило валидации максимальной длины строки для поля.
-
minLength() public
Добавить правило валидации минимальной длины строки для поля.
-
minLengthBytes() public
Добавить правило валидации минимальной длины строки для поля.
-
multipleOptions() public
Добавить правило валидации для множественного выбора. Сравнение по умолчанию регистрозависимое.
-
naturalNumber() public
Добавить правило валидации для натурального числа для поля.
-
nonNegativeInteger() public
Добавить правило валидации для неотрицательного целого числа для поля.
-
notAlphaNumeric() public
Добавить правило для проверки не-буквенно-цифрового значения.
-
notAsciiAlphaNumeric() public
Добавить правило для проверки не-ASCII буквенно-цифрового значения.
-
notBlank() public
Добавить правило notBlank для поля.
-
notEmpty() public deprecated
Устанавливает требование к полю не быть пустым. Вы также можете передать массив. Использование массива позволит вам предоставить следующие ключи:
-
notEmptyArray() public
Требуется, чтобы поле было непустым массивом.
-
notEmptyDate() public
Требуется непустое значение даты.
-
notEmptyDateTime() public
Требуется непустое значение даты/времени.
-
notEmptyFile() public
Требуется непустой файл.
-
notEmptyString() public
Требуется, чтобы поле не было пустой строкой.
-
notEmptyTime() public
Требуется непустое значение времени.
-
notEqualToField() public
Добавить правило сравнения "не равно" другому полю.
-
notEquals() public
Добавить правило сравнения "не равно" для поля.
-
notSameAs() public
Добавить правило сравнения на несовпадение значений двух полей.
-
numeric() public
Добавить правило валидации числового значения для поля.
-
offsetExists() public
Возвращает, определён ли набор правил для поля.
-
offsetGet() public
Возвращает набор правил для поля.
-
offsetSet() public
Устанавливает набор правил для поля.
-
offsetUnset() public
Удаляет набор правил для поля.
-
providers() public
Получить список поставщиков в этой валидации.
-
range() public
Добавить правило валидации, чтобы убедиться, что поле находится в числовом диапазоне.
-
regex() public
Возвращает, соответствует ли поле регулярному выражению.
-
remove() public
Удаляет правило из набора по его имени
-
requirePresence() public
Устанавливает, является ли поле обязательным для присутствия в массиве данных. Вы также можете передать массив. Использование массива позволит вам указать следующие ключи:
-
sameAs() public
Добавляет правило для сравнения двух полей друг с другом.
-
scalar() public
Добавляет правило валидации, чтобы убедиться, что поле содержит скалярное значение.
-
setProvider() public
Связывает объект с именем, чтобы он мог использоваться в качестве поставщика. Поставщики — это объекты или имена классов, которые могут содержать методы, используемые во время валидации для определения, может ли быть применено правило валидации. Все методы валидации, когда вызываются, получат полный список поставщиков, хранящихся в этом валидаторе.
-
setStopOnFailure() public
Определяет, следует ли прекратить оценку правил валидации при первом неудачном правиле.
-
time() public
Добавляет правило валидации формата времени к полю.
-
uploadedFile() public
Добавляет правило валидации, чтобы убедиться, что поле является загруженным файлом
-
url() public
Добавляет правило валидации, чтобы убедиться, что поле является URL-адресом.
-
urlWithProtocol() public
Добавляет правило валидации, чтобы убедиться, что поле является URL-адресом.
-
utf8() public
Добавляет правило валидации, чтобы убедиться, что поле содержит только байты BMP utf8.
-
utf8Extended() public
Добавляет правило валидации, чтобы убедиться, что поле содержит только байты utf8.
-
uuid() public
Добавляет правило валидации, чтобы убедиться, что поле является UUID.
-
validate() public
Проверяет и возвращает массив невалидных полей и их сообщений об ошибках.
Подробное описание методов
__construct() public
__construct()
Конструктор
__debugInfo() public
__debugInfo(): array
Получить печатную версию этого объекта.
Возвращает
array_canBeEmpty() protected
_canBeEmpty(Cake\Validation\ValidationSet $field, array $context): bool
Возвращает, может ли поле быть пустым в соответствии с allowEmpty
Параметры
-
Cake\Validation\ValidationSet$field набор правил для поля
-
array$context список пар «ключ-значение», содержащий контекст валидации.
Возвращает
bool_checkPresence() protected
_checkPresence(Cake\Validation\ValidationSet $field, array $context): bool
Возвращает false, если какая-либо валидация для переданного набора правил должна быть остановлена из-за отсутствия поля в массиве данных
Параметры
-
Cake\Validation\ValidationSet$field Набор правил для поля.
-
array$context Список пар «ключ-значение», содержащий контекст валидации.
Возвращает
bool_convertValidatorToArray() protected
_convertValidatorToArray(int|string $fieldName, array $defaults = [], string|array $settings = []): array[]
Преобразует валидатор в массив fieldName => $settings
Параметры
-
int|string$fieldName имя поля
-
array$defaults optional значения по умолчанию
-
string|array$settings optional настройки из данных
Возвращает
array[]Исключения
InvalidArgumentException_fieldIsEmpty() protected
_fieldIsEmpty(mixed $data): bool
Возвращает true, если поле пусто в переданном массиве данных
Параметры
-
mixed$data Значение для проверки.
Возвращает
bool_processRules() protected
_processRules(string $field, Cake\Validation\ValidationSet $rules, array $data, bool $newRecord): array
Перебирает каждое правило в наборе валидации и собирает ошибки, полученные в результате их выполнения
Параметры
-
string$field Имя поля, которое обрабатывается
-
Cake\Validation\ValidationSet$rules список правил для поля
-
array$data полные данные, переданные валидатору
-
bool$newRecord является ли это новым записями или существующим
Возвращает
arrayadd() public
add(string $field, array|string $name, arrayCake\Validation\ValidationRule $rule = []): $this
Добавляет новое правило к набору правил поля. Если второй аргумент является массивом, то список правил для поля будет заменен вторым аргументом, а третий аргумент будет проигнорирован.
Пример:
$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']
]); Параметры
-
string$field Имя поля, к которому будет добавлено правило
-
array|string$name Псевдоним для одного правила или массива нескольких правил
-
arrayCake\Validation\ValidationRule$rule optional правило для добавления
Возвращает
$thisИсключения
InvalidArgumentExceptionЕсли числовой индекс не может быть преобразован в строковый
addDefaultProvider() public static
addDefaultProvider(string $name, object|string $object): void
Связывает объект с именем, чтобы его можно было использовать в качестве поставщика по умолчанию.
Параметры
-
string$name Имя, под которым должен быть установлен поставщик.
-
object|string$object Объект поставщика или имя класса.
Возвращает
voidaddNested() public
addNested(string $field, Cake\Validation\Validator $validator, string|null $message = null, string|callable|null $when = null): $this
Добавляет вложенный валидатор.
Вложенные валидаторы позволяют определить валидаторы для типов массивов. Например, вложенные валидаторы идеально подходят, когда необходимо валидировать поддокумент или сложный массив.
Этот метод предполагает, что поддокумент имеет отношение 1:1 к родительскому элементу.
Поставщики родительского валидатора будут синхронизированы с вложенным валидатором при проверке ошибок. Это гарантирует, что все поставщики правил валидации, подключенные к родителю, будут иметь те же значения во вложенном валидаторе при оценке правил.
Параметры
-
string$field Корневое поле для вложенного валидатора.
-
Cake\Validation\Validator$validator Вложенный валидатор.
-
string|null$message optional Сообщение об ошибке при ошибке правила.
-
string|callable|null$when optional Либо 'create', либо 'update', либо вызываемая функция, которая возвращает true, когда правило валидации должно быть применено.
Возвращает
$thisaddNestedMany() public
addNestedMany(string $field, Cake\Validation\Validator $validator, string|null $message = null, string|callable|null $when = null): $this
Добавляет вложенный валидатор.
Вложенные валидаторы позволяют определять валидаторы для типов массивов. Например, вложенные валидаторы идеально подходят для проверки множества похожих поддокументов или сложных типов массивов.
Этот метод предполагает, что поддокумент имеет отношение 1:N к родительскому элементу.
Поставщики родительского валидатора будут синхронизированы с вложенным валидатором при проверке ошибок. Это гарантирует, что все поставщики правил валидации, подключенные к родителю, будут иметь те же значения во вложенном валидаторе при оценке правил.
Параметры
-
string$field Корневое поле для вложенного валидатора.
-
Cake\Validation\Validator$validator Вложенный валидатор.
-
string|null$message optional Сообщение об ошибке при ошибке правила.
-
string|callable|null$when optional Либо 'create', либо 'update', либо вызываемая функция, которая возвращает true, когда правило валидации должно быть применено.
Возвращает
$thisallowEmpty() public
allowEmpty(string|array $field, bool|string|callable $when = true, string|null $message = null): $this
Разрешает пустое поле. Вы также можете передать массив. Используя массив, вы сможете указать следующие ключи:
-
whenиндивидуальное условие при проверке поля - 'message' индивидуальное сообщение для поля
Вы также можете установить when и message для всех переданных полей, индивидуальная настройка имеет приоритет над групповыми настройками.
Это противоположно notEmpty(), которое требует, чтобы поле не было пустым. Используя $mode равный 'create' или 'update', вы можете разрешить поля быть пустыми, когда записи создаются впервые, или когда они обновляются.
Пример:
// Email can be empty
$validator->allowEmpty('email');
// Email can be empty on create
$validator->allowEmpty('email', Validator::WHEN_CREATE);
// Email can be empty on update
$validator->allowEmpty('email', Validator::WHEN_UPDATE);
// Email and subject can be empty on update
$validator->allowEmpty(['email', 'subject'], Validator::WHEN_UPDATE;
// Email can be always empty, subject and content can be empty on update.
$validator->allowEmpty(
[
'email' => [
'when' => true
],
'content' => [
'message' => 'Content cannot be empty'
],
'subject'
],
Validator::WHEN_UPDATE
); Можно условно разрешить пустоту поля, передав обратный вызов в качестве второго аргумента. Обратный вызов получит массив контекста валидации в качестве аргумента:
$validator->allowEmpty('email', function ($context) {
return !$context['newRecord'] || $context['data']['role'] === 'admin';
}); Этот метод правильно обнаружит пустые загрузки файлов и поля даты/времени/datetime.
Поскольку этот и notEmpty() изменяют один и тот же внутренний состояние, последний вызываемый метод будет иметь приоритет.
Параметры
-
string|array$field имя поля или список полей
-
bool|string|callable$when optional Указывает, когда поле допускается пустым. Допустимые значения — true (всегда), 'create', 'update'. Если передан вызываемый объект, поле будет разрешено быть пустым только тогда, когда вызываемый объект вернет true.
-
string|null$message optional Сообщение, которое будет отображаться, если поле не
Возвращает
$thisallowEmptyArray() public
allowEmptyArray(string $field, string|null $message = null, bool|string|callable $when = true): $this
Разрешает поле быть пустым массивом.
Этот метод эквивалентен вызову allowEmptyFor() со флагами EMPTY_STRING + EMPTY_ARRAY.
Параметры
-
string$field Имя поля.
-
string|null$message необязательно Сообщение, которое отображается, если поле не
-
bool|string|callable$when необязательно Указывает, когда поле допускается пустым. Допустимые значения: true, false, 'create', 'update'. Если передана вызываемая функция, то поле будет разрешено быть пустым только тогда, когда функция вернёт true.
Возвращает
$thisСм. также
allowEmptyDate() public
allowEmptyDate(string $field, string|null $message = null, bool|string|callable $when = true): $this
Разрешает поле быть пустой датой.
Пустые значения даты — это null, '', [] и массивы, где все значения '', а ключ year присутствует.
Параметры
-
string$field Имя поля.
-
string|null$message необязательно Сообщение, которое отображается, если поле не
-
bool|string|callable$when необязательно Указывает, когда поле допускается пустым. Допустимые значения: true, false, 'create', 'update'. Если передана вызываемая функция, то поле будет разрешено быть пустым только тогда, когда функция вернёт true.
Возвращает
$thisСм. также
allowEmptyDateTime() public
allowEmptyDateTime(string $field, string|null $message = null, bool|string|callable $when = true): $this
Разрешает поле быть пустой датой/временем.
Пустые значения даты — это null, '', [] и массивы, где все значения '', а ключи year и hour присутствуют.
Этот метод эквивалентен вызову allowEmptyFor() со флагами EMPTY_STRING + EMPTY_DATE + EMPTY_TIME.
Параметры
-
string$field Имя поля.
-
string|null$message необязательно Сообщение, которое отображается, если поле не
-
bool|string|callable$when необязательно Указывает, когда поле допускается пустым. Допустимые значения: true, false, 'create', 'update'. Если передана вызываемая функция, то поле будет разрешено быть пустым только тогда, когда функция вернёт false.
Возвращает
$thisСм. также
allowEmptyFile() public
allowEmptyFile(string $field, string|null $message = null, bool|string|callable $when = true): $this
Разрешает поле быть пустым файлом.
Этот метод эквивалентен вызову allowEmptyFor() со флагом EMPTY_FILE. Поля типа файл не примут '', или [] в качестве пустых значений. Только null и загрузка файла с error равным UPLOAD_ERR_NO_FILE будут считаться пустыми.
Параметры
-
string$field Имя поля.
-
string|null$message необязательно Сообщение, которое отображается, если поле не
-
bool|string|callable$when необязательно Указывает, когда поле допускается пустым. Допустимые значения: true, 'create', 'update'. Если передана вызываемая функция, то поле будет разрешено быть пустым только тогда, когда функция вернёт true.
Возвращает
$thisСм. также
allowEmptyFor() public
allowEmptyFor(string $field, int|null $flags = null, bool|string|callable $when = true, string|null $message = null): $this
Метод низкого уровня для указания, что поле может быть пустым.
Этот метод, как правило, не следует использовать, а вместо него следует использовать:
allowEmptyString()allowEmptyArray()allowEmptyFile()allowEmptyDate()allowEmptyDatetime()allowEmptyTime()
Следует использовать их API, так как они проще в работе и чтении.
Вы также можете установить флаги, значение `when` и сообщение для всех переданных полей, при этом индивидуальные настройки имеют приоритет над групповыми настройками.
Пример:
// Email can be empty
$validator->allowEmptyFor('email', Validator::EMPTY_STRING);
// Email can be empty on create
$validator->allowEmptyFor('email', Validator::EMPTY_STRING, Validator::WHEN_CREATE);
// Email can be empty on update
$validator->allowEmptyFor('email', Validator::EMPTY_STRING, Validator::WHEN_UPDATE); Возможно условно разрешить пустоту поля, передав функцию обратного вызова в качестве второго аргумента. Функция обратного вызова получит массив контекста валидации в качестве аргумента:
$validator->allowEmpty('email', Validator::EMPTY_STRING, function ($context) {
return !$context['newRecord'] || $context['data']['role'] === 'admin';
}); Если вы хотите разрешить другие виды пустых данных для поля, вам нужно передать другие флаги:
$validator->allowEmptyFor('photo', Validator::EMPTY_FILE);
$validator->allowEmptyFor('published', Validator::EMPTY_STRING | Validator::EMPTY_DATE | Validator::EMPTY_TIME);
$validator->allowEmptyFor('items', Validator::EMPTY_STRING | Validator::EMPTY_ARRAY); Вы также можете использовать удобные обертки для этого метода. Следующие вызовы эквивалентны вышеприведённым:
$validator->allowEmptyFile('photo');
$validator->allowEmptyDateTime('published');
$validator->allowEmptyArray('items'); Параметры
-
string$field Имя поля.
-
int|null$flags необязательно Маска битов флагов EMPTY_*, которые определяют, что является пустым. Если флаги/битовая маска не указаны, только
nullбудет разрешено в качестве пустого значения.-
bool|string|callable$when необязательно Указывает, когда поле допускается пустым. Допустимые значения: true, false, 'create', 'update'. Если передана вызываемая функция, то поле будет разрешено быть пустым только тогда, когда функция вернёт true.
-
string|null$message необязательно Сообщение, которое отображается, если поле не
Возвращает
$thisallowEmptyString() public
allowEmptyString(string $field, string|null $message = null, bool|string|callable $when = true): $this
Разрешает поле быть пустой строкой.
Этот метод эквивалентен вызову allowEmptyFor() со флагом EMPTY_STRING.
Параметры
-
string$field Имя поля.
-
string|null$message необязательно Сообщение, которое отображается, если поле не
-
bool|string|callable$when необязательно Указывает, когда поле допускается пустым. Допустимые значения: true, false, 'create', 'update'. Если передана вызываемая функция, то поле будет разрешено быть пустым только тогда, когда функция вернёт true.
Возвращает
$thisСм. также
allowEmptyTime() public
allowEmptyTime(string $field, string|null $message = null, bool|string|callable $when = true): $this
Разрешает поле быть пустым временем.
Пустые значения даты — это null, '', [] и массивы, где все значения '', а ключ hour присутствует.
Этот метод эквивалентен вызову allowEmptyFor() со флагами EMPTY_STRING + EMPTY_TIME.
Параметры
-
string$field Имя поля.
-
string|null$message необязательно Сообщение, которое отображается, если поле не
-
bool|string|callable$when необязательно Указывает, когда поле допускается пустым. Допустимые значения: true, false, 'create', 'update'. Если передана вызываемая функция, то поле будет разрешено быть пустым только тогда, когда функция вернёт true.
Возвращает
$thisСм. также
alphaNumeric() public
alphaNumeric(string $field, string|null $message = null, string|callable|null $when = null): $this
Добавляет правило проверки на алфавитно-цифровые символы к полю.
Параметры
-
string$field Поле, к которому вы хотите применить правило.
-
string|null$message необязательно Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when необязательно Либо 'create', либо 'update', либо вызываемая функция, которая возвращает true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
ascii() public
ascii(string $field, string|null $message = null, string|callable|null $when = null): $this
Добавляет правило проверки, чтобы убедиться, что поле содержит только символы ASCII.
Параметры
-
string$field Поле, к которому вы хотите применить правило.
-
string|null$message необязательно Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when необязательно Либо 'create', либо 'update', либо вызываемая функция, которая возвращает true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
asciiAlphaNumeric() public
asciiAlphaNumeric(string $field, string|null $message = null, string|callable|null $when = null): $this
Добавить правило проверки на алфавитно-цифровые символы ASCII в поле.
Parameters
-
string$field Поле, к которому вы хотите применить правило.
-
string|null$message optional Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when optional Либо 'create', либо 'update', либо вызываемая функция, которая возвращает true, когда правило проверки должно быть применено.
Returns
$thisSee Also
boolean() public
boolean(string $field, string|null $message = null, string|callable|null $when = null): $this
Добавить правило проверки на булево значение в поле.
Parameters
-
string$field Поле, к которому вы хотите применить правило.
-
string|null$message optional Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when optional Либо 'create', либо 'update', либо вызываемая функция, которая возвращает true, когда правило проверки должно быть применено.
Returns
$thisSee Also
containsNonAlphaNumeric() public
containsNonAlphaNumeric(string $field, int $limit = 1, string|null $message = null, string|callable|null $when = null): $this
Добавить правило для проверки, содержит ли поле неалфавитно-цифровые символы.
Parameters
-
string$field Поле, к которому вы хотите применить правило.
-
int$limit optional Минимальное количество требуемых неалфавитно-цифровых полей.
-
string|null$message optional Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when optional Либо 'create', либо 'update', либо вызываемая функция, которая возвращает true, когда правило проверки должно быть применено.
Returns
$thisSee Also
count() public
count(): int
Возвращает количество полей, имеющих правила проверки.
Returns
intcreditCard() public
creditCard(string $field, string $type = 'all', string|null $message = null, string|callable|null $when = null): $this
Добавить правило проверки номера кредитной карты в поле.
Parameters
-
string$field Поле, к которому вы хотите применить правило.
-
string$type optional Тип карт, которые вы хотите разрешить. По умолчанию 'all'. Вы также можете указать массив допустимых типов карт. Например
['mastercard', 'visa', 'amex']-
string|null$message optional Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when optional Либо 'create', либо 'update', либо вызываемая функция, которая возвращает true, когда правило проверки должно быть применено.
Returns
$thisSee Also
date() public
date(string $field, array $formats = ['ymd'], string|null $message = null, string|callable|null $when = null): $this
Добавить правило проверки формата даты в поле.
Parameters
-
string$field Поле, к которому вы хотите применить правило.
-
array$formats optional Список допустимых форматов даты.
-
string|null$message optional Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when optional Либо 'create', либо 'update', либо вызываемая функция, которая возвращает true, когда правило проверки должно быть применено.
Returns
$thisSee Also
dateTime() public
dateTime(string $field, array $formats = ['ymd'], string|null $message = null, string|callable|null $when = null): $this
Добавить правило проверки формата даты и времени в поле.
Parameters
-
string$field Поле, к которому вы хотите применить правило.
-
array$formats optional Список допустимых форматов даты.
-
string|null$message optional Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when optional Либо 'create', либо 'update', либо вызываемая функция, которая возвращает true, когда правило проверки должно быть применено.
Returns
$thisSee Also
decimal() public
decimal(string $field, int|null $places = null, string|null $message = null, string|callable|null $when = null): $this
Добавить правило проверки на десятичное число в поле.
Parameters
-
string$field Поле, к которому вы хотите применить правило.
-
int|null$places optional Количество требуемых десятичных знаков.
-
string|null$message optional Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when optional Либо 'create', либо 'update', либо вызываемая функция, которая возвращает true, когда правило проверки должно быть применено.
Returns
$thisSee Also
email() public
email(string $field, bool $checkMX = false, string|null $message = null, string|callable|null $when = null): $this
Добавить правило проверки адреса электронной почты в поле.
Parameters
-
string$field Поле, к которому вы хотите применить правило.
-
bool$checkMX optional Проверять ли записи MX.
-
string|null$message optional Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when optional Либо 'create', либо 'update', либо вызываемая функция, которая возвращает true, когда правило проверки должно быть применено.
Returns
$thisSee Also
equalToField() public
equalToField(string $field, string $secondField, string|null $message = null, string|callable|null $when = null): $this
Добавить правило для сравнения одного поля с другим.
Parameters
-
string$field Поле, к которому вы хотите применить правило.
-
string$secondField Поле, с которым вы хотите сравнить.
-
string|null$message optional Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when optional Либо 'create', либо 'update', либо вызываемая функция, которая возвращает true, когда правило проверки должно быть применено.
Returns
$thisSee Also
equals() public
equals(string $field, int|float $value, string|null $message = null, string|callable|null $when = null): $this
Добавить правило сравнения на равенство в поле.
Parameters
-
string$field Поле, к которому вы хотите применить правило.
-
int|float$value Значение, которому должны быть равны данные пользователя.
-
string|null$message optional Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when optional Либо 'create', либо 'update', либо вызываемая функция, которая возвращает true, когда правило проверки должно быть применено.
Returns
$thisSee Also
errors() public
errors(array $data, bool $newRecord = true): array[]
Проверяет и возвращает массив полей с ошибками и их сообщениями об ошибках.
Parameters
-
array$data Данные, которые необходимо проверить на ошибки.
-
bool$newRecord optional Являются ли данные, которые необходимо проверить, новыми или должны быть обновлены.
Returns
array[]field() public
field(string $name, Cake\Validation\ValidationSet|null $set = null): Cake\Validation\ValidationSet
Возвращает объект ValidationSet, содержащий все правила проверки для поля. Если в качестве второго аргумента передать ValidationSet, он заменит любой другой набор правил, определённый ранее.
Параметры
-
string$name [необязательно] Имя поля для получения.
-
Cake\Validation\ValidationSet|null$set необязательно Набор правил для поля.
Возвращает
Cake\Validation\ValidationSetgetDefaultProvider() public static
getDefaultProvider(string $name): object|string|null
Возвращает поставщика по умолчанию, сохранённого под указанным именем, если он существует.
Параметры
-
string$name Имя, под которым должен быть получен поставщик.
Возвращает
object|string|nullgetDefaultProviders() public static
getDefaultProviders(): string[]
Возвращает список поставщиков по умолчанию.
Возвращает
string[]getIterator() public
getIterator(): Cake\Validation\ValidationSet[]
Возвращает итератор для каждого из полей, которые должны быть проверены.
Возвращает
Cake\Validation\ValidationSet[]getNotEmptyMessage() public
getNotEmptyMessage(string $field): string|null
Получает сообщение «не пусто» для поля.
Параметры
-
string$field Имя поля.
Возвращает
string|nullgetProvider() public
getProvider(string $name): object|string|null
Возвращает поставщика, сохранённого под указанным именем, если он существует.
Параметры
-
string$name Имя, под которым должен быть установлен поставщик.
Возвращает
object|string|nullgetRequiredMessage() public
getRequiredMessage(string $field): string|null
Получает сообщение «обязательно» для поля.
Параметры
-
string$field Имя поля.
Возвращает
string|nullgreaterThan() public
greaterThan(string $field, int|float $value, string|null $message = null, string|callable|null $when = null): $this
Добавляет правило сравнения больше, чем к полю.
Параметры
-
string$field Поле, к которому вы хотите применить правило.
-
int|float$value Значение, которое должно быть больше, чем данные пользователя.
-
string|null$message необязательно Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when необязательно «create», «update» или вызываемый объект, возвращающий true, когда правило проверки должно быть применено.
Возвращает
$thisСм. также
greaterThanField() public
greaterThanField(string $field, string $secondField, string|null $message = null, string|callable|null $when = null): $this
Добавляет правило для сравнения одного поля с другим, где оно больше.
Параметры
-
string$field Поле, к которому вы хотите применить правило.
-
string$secondField Поле, с которым необходимо сравнить.
-
string|null$message необязательно Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when необязательно «create», «update» или вызываемый объект, возвращающий true, когда правило проверки должно быть применено.
Возвращает
$thisСм. также
greaterThanOrEqual() public
greaterThanOrEqual(string $field, int|float $value, string|null $message = null, string|callable|null $when = null): $this
Добавляет правило сравнения больше или равно к полю.
Параметры
-
string$field Поле, к которому вы хотите применить правило.
-
int|float$value Значение, которому данные пользователя должны быть больше или равны.
-
string|null$message необязательно Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when необязательно «create», «update» или вызываемый объект, возвращающий true, когда правило проверки должно быть применено.
Возвращает
$thisСм. также
greaterThanOrEqualToField() public
greaterThanOrEqualToField(string $field, string $secondField, string|null $message = null, string|callable|null $when = null): $this
Добавляет правило для сравнения одного поля с другим, где оно больше или равно.
Параметры
-
string$field Поле, к которому вы хотите применить правило.
-
string$secondField Поле, с которым необходимо сравнить.
-
string|null$message необязательно Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when необязательно «create», «update» или вызываемый объект, возвращающий true, когда правило проверки должно быть применено.
Возвращает
$thisСм. также
hasAtLeast() public
hasAtLeast(string $field, int $count, string|null $message = null, string|callable|null $when = null): $this
Добавляет правило проверки, чтобы гарантировать, что поле является массивом, содержащим не менее указанного количества элементов.
Параметры
-
string$field Поле, к которому вы хотите применить правило.
-
int$count Количество элементов, которое массив должен содержать как минимум.
-
string|null$message необязательно Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when необязательно «create», «update» или вызываемый объект, возвращающий true, когда правило проверки должно быть применено.
Возвращает
$thisСм. также
hasAtMost() public
hasAtMost(string $field, int $count, string|null $message = null, string|callable|null $when = null): $this
Добавляет правило проверки, чтобы гарантировать, что поле является массивом, содержащим не более указанного количества элементов.
Параметры
-
string$field Поле, к которому вы хотите применить правило.
-
int$count Максимальное количество элементов, которое должно содержать поле.
-
string|null$message необязательно Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when необязательно «create», «update» или вызываемый объект, возвращающий true, когда правило проверки должно быть применено.
Возвращает
$thisСм. также
hasField() public
hasField(string $name): bool
Проверяет, содержит ли валидатор правила для данного поля.
Параметры
-
string$name Имя поля для проверки.
Возвращает
boolhexColor() public
hexColor(string $field, string|null $message = null, string|callable|null $when = null): $this
Добавляет правило проверки, чтобы гарантировать, что поле является значением шестнадцатеричного цвета из 6 символов.
Параметры
-
string$field Поле, к которому вы хотите применить правило.
-
string|null$message необязательно Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when необязательно «create», «update» или вызываемый объект, возвращающий true, когда правило проверки должно быть применено.
Возвращает
$thisСм. также
inList() public
inList(string $field, array $list, string|null $message = null, string|callable|null $when = null): $this
Добавить правило валидации, чтобы убедиться, что значение поля находится в разрешённом списке.
Параметры
-
string$field Поле, к которому вы хотите применить правило.
-
array$list Список допустимых вариантов.
-
string|null$message необязательно Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when необязательно «create» или «update», или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
integer() public
integer(string $field, string|null $message = null, string|callable|null $when = null): $this
Добавить правило валидации, чтобы убедиться, что поле является целым числом.
Параметры
-
string$field Поле, к которому вы хотите применить правило.
-
string|null$message необязательно Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when необязательно «create» или «update», или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
invertWhenClause() protected
invertWhenClause(bool|string|callable $when): bool|string|callable
Инвертировать условие when для создания правил notEmpty
Параметры
-
bool|string|callable$when Указывает, когда поле не должно быть пустым. Допустимые значения — true (всегда), «create», «update». Если передано вызываемое значение, поле будет разрешено оставить пустым только тогда, когда обратный вызов вернёт false.
Возвращает
bool|string|callableip() public
ip(string $field, string|null $message = null, string|callable|null $when = null): $this
Добавить правило валидации IP-адреса для поля.
Это правило будет принимать как IPv4, так и IPv6 адреса.
Параметры
-
string$field Поле, к которому вы хотите применить правило.
-
string|null$message необязательно Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when необязательно «create» или «update», или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
ipv4() public
ipv4(string $field, string|null $message = null, string|callable|null $when = null): $this
Добавить правило валидации IPv4 для поля.
Параметры
-
string$field Поле, к которому вы хотите применить правило.
-
string|null$message необязательно Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when необязательно «create» или «update», или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
ipv6() public
ipv6(string $field, string|null $message = null, string|callable|null $when = null): $this
Добавить правило валидации IPv6 для поля.
Параметры
-
string$field Поле, к которому вы хотите применить правило.
-
string|null$message необязательно Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when необязательно «create» или «update», или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
isArray() public
isArray(string $field, string|null $message = null, string|callable|null $when = null): $this
Добавить правило валидации, чтобы убедиться, что поле содержит массив.
Параметры
-
string$field Поле, к которому вы хотите применить правило.
-
string|null$message необязательно Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when необязательно «create» или «update», или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
isEmpty() protected
isEmpty(mixed $data, int $flags): bool
Возвращает true, если поле пустое в переданном массиве данных
Параметры
-
mixed$data Значение для проверки.
-
int$flags Побитовая маска флагов EMPTY_*, определяющих, что является пустым
Возвращает
boolisEmptyAllowed() public
isEmptyAllowed(string $field, bool $newRecord): bool
Возвращает, разрешено ли оставить поле пустым для новой или уже существующей записи.
Параметры
-
string$field Имя поля.
-
bool$newRecord Являются ли данные для проверки новыми или обновляемыми.
Возвращает
boolisPresenceRequired() public
isPresenceRequired(string $field, bool $newRecord): bool
Возвращает, обязательно ли заполнять поле для новой или уже существующей записи.
Параметры
-
string$field Имя поля.
-
bool$newRecord Являются ли данные для проверки новыми или обновляемыми.
Возвращает
boollatLong() public
latLong(string $field, string|null $message = null, string|callable|null $when = null): $this
Добавить правило валидации для поля, чтобы убедиться, что оно является кортежем широты/долготы.
Например: <lat>, <lng>
Параметры
-
string$field Поле, к которому вы хотите применить правило.
-
string|null$message необязательно Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when необязательно «create» или «update», или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
latitude() public
latitude(string $field, string|null $message = null, string|callable|null $when = null): $this
Добавить правило валидации для поля, чтобы убедиться, что оно является широтой.
Параметры
-
string$field Поле, к которому вы хотите применить правило.
-
string|null$message необязательно Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when необязательно «create» или «update», или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
lengthBetween() public
lengthBetween(string $field, array $range, string|null $message = null, string|callable|null $when = null): $this
Добавить правило, гарантирующее, что длина строки находится в определённом диапазоне.
Параметры
-
string$field Поле, к которому вы хотите применить правило.
-
array$range Включительно минимальная и максимальная длина, которую вы хотите разрешить.
-
string|null$message необязательно Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when необязательно «create» или «update», или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisИсключения
InvalidArgumentExceptionСм. также
lessThan() public
lessThan(string $field, int|float $value, string|null $message = null, string|callable|null $when = null): $this
Добавить правило сравнения меньше для поля.
Параметры
-
string$field Поле, к которому нужно применить правило.
-
int|float$value Значение, которое пользовательские данные должны быть меньше.
-
string|null$message необязательно Сообщение об ошибке при невыполнении правила.
-
string|callable|null$when необязательно Либо 'create', либо 'update', либо вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
lessThanField() public
lessThanField(string $field, string $secondField, string|null $message = null, string|callable|null $when = null): $this
Добавить правило для сравнения, чтобы одно поле было меньше другого.
Параметры
-
string$field Поле, к которому нужно применить правило.
-
string$secondField Поле, с которым нужно сравнить.
-
string|null$message необязательно Сообщение об ошибке при невыполнении правила.
-
string|callable|null$when необязательно Либо 'create', либо 'update', либо вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
lessThanOrEqual() public
lessThanOrEqual(string $field, int|float $value, string|null $message = null, string|callable|null $when = null): $this
Добавить правило сравнения меньше или равно для поля.
Параметры
-
string$field Поле, к которому нужно применить правило.
-
int|float$value Значение, которому пользовательские данные должны быть меньше или равны.
-
string|null$message необязательно Сообщение об ошибке при невыполнении правила.
-
string|callable|null$when необязательно Либо 'create', либо 'update', либо вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
lessThanOrEqualToField() public
lessThanOrEqualToField(string $field, string $secondField, string|null $message = null, string|callable|null $when = null): $this
Добавить правило сравнения, чтобы одно поле было меньше или равно другому.
Параметры
-
string$field Поле, к которому нужно применить правило.
-
string$secondField Поле, с которым нужно сравнить.
-
string|null$message необязательно Сообщение об ошибке при невыполнении правила.
-
string|callable|null$when необязательно Либо 'create', либо 'update', либо вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
localizedTime() public
localizedTime(string $field, string $type = 'datetime', string|null $message = null, string|callable|null $when = null): $this
Добавить правило валидации формата локализованного времени, даты или даты и времени к полю.
Параметры
-
string$field Поле, к которому нужно применить правило.
-
string$type необязательно Тип парсера, один из 'date', 'time' и 'datetime'
-
string|null$message необязательно Сообщение об ошибке при невыполнении правила.
-
string|callable|null$when необязательно Либо 'create', либо 'update', либо вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
longitude() public
longitude(string $field, string|null $message = null, string|callable|null $when = null): $this
Добавить правило валидации для проверки, является ли поле долготой.
Параметры
-
string$field Поле, к которому нужно применить правило.
-
string|null$message необязательно Сообщение об ошибке при невыполнении правила.
-
string|callable|null$when необязательно Либо 'create', либо 'update', либо вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
maxLength() public
maxLength(string $field, int $max, string|null $message = null, string|callable|null $when = null): $this
Добавить правило валидации длины строки для поля.
Параметры
-
string$field Поле, к которому нужно применить правило.
-
int$max Максимальная длина, разрешенная.
-
string|null$message необязательно Сообщение об ошибке при невыполнении правила.
-
string|callable|null$when необязательно Либо 'create', либо 'update', либо вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
maxLengthBytes() public
maxLengthBytes(string $field, int $max, string|null $message = null, string|callable|null $when = null): $this
Добавить правило валидации длины строки для поля.
Параметры
-
string$field Поле, к которому нужно применить правило.
-
int$max Максимальная длина, разрешенная.
-
string|null$message необязательно Сообщение об ошибке при невыполнении правила.
-
string|callable|null$when необязательно Либо 'create', либо 'update', либо вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
minLength() public
minLength(string $field, int $min, string|null $message = null, string|callable|null $when = null): $this
Добавить правило валидации длины строки для поля.
Параметры
-
string$field Поле, к которому нужно применить правило.
-
int$min Минимальная требуемая длина.
-
string|null$message необязательно Сообщение об ошибке при невыполнении правила.
-
string|callable|null$when необязательно Либо 'create', либо 'update', либо вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
minLengthBytes() public
minLengthBytes(string $field, int $min, string|null $message = null, string|callable|null $when = null): $this
Добавить правило валидации длины строки для поля.
Параметры
-
string$field Поле, к которому нужно применить правило.
-
int$min Минимальная требуемая длина.
-
string|null$message необязательно Сообщение об ошибке при невыполнении правила.
-
string|callable|null$when необязательно Либо 'create', либо 'update', либо вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
multipleOptions() public
multipleOptions(string $field, array $options = [], string|null $message = null, string|callable|null $when = null): $this
Добавить правило валидации для множественного выбора. Сравнение по умолчанию регистрозависимое.
Параметры
-
string$field Поле, к которому нужно применить правило.
-
array$options optional Опции для валидатора. Включает опции, определённые в \Cake\Validation\Validation::multiple(), и параметр
caseInsensitive.-
string|null$message optional Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when optional Значение 'create' или 'update' или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
naturalNumber() public
naturalNumber(string $field, string|null $message = null, string|callable|null $when = null): $this
Добавить правило валидации для проверки на натуральное число к полю.
Параметры
-
string$field Поле, к которому нужно применить правило.
-
string|null$message optional Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when optional Значение 'create' или 'update' или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
nonNegativeInteger() public
nonNegativeInteger(string $field, string|null $message = null, string|callable|null $when = null): $this
Добавить правило валидации, чтобы убедиться, что поле является неотрицательным целым числом.
Параметры
-
string$field Поле, к которому нужно применить правило.
-
string|null$message optional Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when optional Значение 'create' или 'update' или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
notAlphaNumeric() public
notAlphaNumeric(string $field, string|null $message = null, string|callable|null $when = null): $this
Добавить правило проверки на не-алфавитно-цифровые символы к полю.
Параметры
-
string$field Поле, к которому нужно применить правило.
-
string|null$message optional Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when optional Значение 'create' или 'update' или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
notAsciiAlphaNumeric() public
notAsciiAlphaNumeric(string $field, string|null $message = null, string|callable|null $when = null): $this
Добавить правило проверки на не-ASCII алфавитно-цифровые символы к полю.
Параметры
-
string$field Поле, к которому нужно применить правило.
-
string|null$message optional Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when optional Значение 'create' или 'update' или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
notBlank() public
notBlank(string $field, string|null $message = null, string|callable|null $when = null): $this
Добавить правило notBlank к полю.
Параметры
-
string$field Поле, к которому нужно применить правило.
-
string|null$message optional Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when optional Значение 'create' или 'update' или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
notEmpty() public
notEmpty(string|array $field, string|null $message = null, bool|string|callable $when = false): $this
Устанавливает требование для поля, чтобы оно не было пустым. Также можно передать массив. Использование массива позволит указать следующие ключи:
-
whenиндивидуальное условие для поля -
messageиндивидуальное сообщение об ошибке для поля
Также можно установить when и message для всех переданных полей, индивидуальное значение имеет приоритет над групповыми настройками.
Это противоположность allowEmpty(), которая разрешает пустое поле. Используя $mode равное 'create' или 'update', можно сделать поля обязательными при первом создании записей или при их обновлении.
Пример:
$message = 'This field cannot be empty';
// Email cannot be empty
$validator->notEmpty('email');
// Email can be empty on update, but not create
$validator->notEmpty('email', $message, 'create');
// Email can be empty on create, but required on update.
$validator->notEmpty('email', $message, Validator::WHEN_UPDATE);
// Email and title can be empty on create, but are required on update.
$validator->notEmpty(['email', 'title'], $message, Validator::WHEN_UPDATE);
// Email can be empty on create, title must always be not empty
$validator->notEmpty(
[
'email',
'title' => [
'when' => true,
'message' => 'Title cannot be empty'
]
],
$message,
Validator::WHEN_UPDATE
); Возможна условная запрет пустоты поля, передав обратный вызов в качестве третьего аргумента. Обратный вызов получит массив контекста валидации в качестве аргумента:
$validator->notEmpty('email', 'Email is required', function ($context) {
return $context['newRecord'] && $context['data']['role'] !== 'admin';
}); Поскольку этот и allowEmpty() изменяют один и тот же внутренний статус, последний вызываемый метод имеет приоритет.
Параметры
-
string|array$field имя поля или список полей
-
string|null$message optional Сообщение, которое отобразится, если поле не
-
bool|string|callable$when optional Указывает, когда поле не должно быть пустым. Допустимые значения true (всегда), 'create', 'update'. Если передан вызываемый объект, тогда поле будет разрешено быть пустым только когда обратный вызов возвращает false.
Возвращает
$thisnotEmptyArray() public
notEmptyArray(string $field, string|null $message = null, bool|string|callable $when = false): $this
Требует, чтобы поле было непустым массивом
Противоположность allowEmptyArray()
Параметры
-
string$field Имя поля.
-
string|null$message optional Сообщение, отображаемое, если поле пустое.
-
bool|string|callable$when optional Указывает, когда поле не должно быть пустым. Допустимые значения false (никогда), 'create', 'update'. Если передан вызываемый объект, тогда поле будет обязательным, если обратный вызов вернёт true.
Возвращает
$thisСм. также
notEmptyDate() public
notEmptyDate(string $field, string|null $message = null, bool|string|callable $when = false): $this
Требует непустого значения даты
Параметры
-
string$field Имя поля.
-
string|null$message optional Сообщение, отображаемое, если поле пустое.
-
bool|string|callable$when optional Указывает, когда поле не должно быть пустым. Допустимые значения false (никогда), 'create', 'update'. Если передан вызываемый объект, тогда поле будет обязательным, если обратный вызов вернёт true.
Возвращает
$thisСм. также
notEmptyDateTime() public
notEmptyDateTime(string $field, string|null $message = null, bool|string|callable $when = false): $this
Требует, чтобы поле было непустым значением даты/времени.
Противное allowEmptyDateTime
Параметры
-
string$field Имя поля.
-
string|null$message optional Сообщение, отображаемое, если поле пустое.
-
bool|string|callable$when optional Указывает, когда поле не должно быть пустым. Допустимые значения false (никогда), 'create', 'update'. Если передан вызываемый объект, тогда поле будет обязательным, если обратный вызов вернёт true.
Возвращает
$thisСм. также
notEmptyFile() public
notEmptyFile(string $field, string|null $message = null, bool|string|callable $when = false): $this
Требуется, чтобы поле было непустым файлом.
Противоположно allowEmptyFile()
Параметры
-
string$field Имя поля.
-
string|null$message optional Сообщение, отображаемое, если поле пустое.
-
bool|string|callable$when optional Указывает, когда поле не должно быть пустым. Допустимые значения: false (никогда), 'create', 'update'. Если передана вызываемая функция, поле будет необходимо непустым, когда функция вернёт true.
Возвращает
$thisСм. также
notEmptyString() public
notEmptyString(string $field, string|null $message = null, bool|string|callable $when = false): $this
Требуется, чтобы поле не было пустой строкой.
Противоположно allowEmptyString()
Параметры
-
string$field Имя поля.
-
string|null$message optional Сообщение, отображаемое, если поле пустое.
-
bool|string|callable$when optional Указывает, когда поле не должно быть пустым. Допустимые значения: false (никогда), 'create', 'update'. Если передана вызываемая функция, поле будет необходимо непустым, когда функция вернёт true.
Возвращает
$thisСм. также
notEmptyTime() public
notEmptyTime(string $field, string|null $message = null, bool|string|callable $when = false): $this
Требуется, чтобы поле было непустым временем.
Противоположно allowEmptyTime()
Параметры
-
string$field Имя поля.
-
string|null$message optional Сообщение, отображаемое, если поле пустое.
-
bool|string|callable$when optional Указывает, когда поле не должно быть пустым. Допустимые значения: false (никогда), 'create', 'update'. Если передана вызываемая функция, поле будет необходимо непустым, когда функция вернёт true.
Возвращает
$thisСм. также
notEqualToField() public
notEqualToField(string $field, string $secondField, string|null $message = null, string|callable|null $when = null): $this
Добавляет правило сравнения, чтобы одно поле не было равно другому.
Параметры
-
string$field Поле, к которому нужно применить правило.
-
string$secondField Поле, с которым нужно сравнить.
-
string|null$message optional Сообщение об ошибке при неудачном выполнении правила.
-
string|callable|null$when optional Либо 'create', либо 'update', либо вызываемая функция, которая возвращает true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
notEquals() public
notEquals(string $field, int|float $value, string|null $message = null, string|callable|null $when = null): $this
Добавляет правило сравнения, что значение поля не равно заданному.
Параметры
-
string$field Поле, к которому нужно применить правило.
-
int|float$value Значение, которому данные пользователя не должны быть равны.
-
string|null$message optional Сообщение об ошибке при неудачном выполнении правила.
-
string|callable|null$when optional Либо 'create', либо 'update', либо вызываемая функция, которая возвращает true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
notSameAs() public
notSameAs(string $field, string $secondField, string|null $message = null, string|callable|null $when = null): $this
Добавляет правило сравнения, что два поля имеют разные значения.
Параметры
-
string$field Поле, к которому нужно применить правило.
-
string$secondField Поле, с которым нужно сравнить.
-
string|null$message optional Сообщение об ошибке при неудачном выполнении правила.
-
string|callable|null$when optional Либо 'create', либо 'update', либо вызываемая функция, которая возвращает true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
numeric() public
numeric(string $field, string|null $message = null, string|callable|null $when = null): $this
Добавляет правило валидации числового значения для поля.
Параметры
-
string$field Поле, к которому нужно применить правило.
-
string|null$message optional Сообщение об ошибке при неудачном выполнении правила.
-
string|callable|null$when optional Либо 'create', либо 'update', либо вызываемая функция, которая возвращает true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
offsetExists() public
offsetExists(string $field): bool
Возвращает, определён ли набор правил для поля.
Параметры
-
string$field Имя поля для проверки.
Возвращает
booloffsetGet() public
offsetGet(string $field): Cake\Validation\ValidationSet
Возвращает набор правил для поля.
Параметры
-
string$field Имя поля для проверки.
Возвращает
Cake\Validation\ValidationSetoffsetSet() public
offsetSet(string $field, arrayCake\Validation\ValidationSet $rules): void
Устанавливает набор правил для поля.
Параметры
-
string$field Имя поля для установки.
-
arrayCake\Validation\ValidationSet$rules Набор правил для применения к полю.
Возвращает
voidoffsetUnset() public
offsetUnset(string $field): void
Удаляет набор правил для поля.
Параметры
-
string$field Имя поля для удаления.
Возвращает
voidproviders() public
providers(): string[]
Получить список поставщиков в этом валидаторе.
Возвращает
string[]range() public
range(string $field, array $range, string|null $message = null, string|callable|null $when = null): $this
Добавляет правило валидации, чтобы убедиться, что поле находится в числовом диапазоне.
Параметры
-
string$field Поле, к которому нужно применить правило.
-
array$range Включительно верхние и нижние границы допустимого диапазона.
-
string|null$message optional Сообщение об ошибке при неудачном выполнении правила.
-
string|callable|null$when optional Либо 'create', либо 'update', либо вызываемая функция, которая возвращает true, когда правило валидации должно быть применено.
Возвращает
$thisВыбрасывает
InvalidArgumentExceptionСм. также
regex() public
regex(string $field, string $regex, string|null $message = null, string|callable|null $when = null): $this
Возвращает, соответствует ли поле заданному регулярному выражению.
Параметры
-
string$field Имя поля.
-
string$regex Регулярное выражение.
-
string|null$message необязательный Сообщение об ошибке при неудачной проверке.
-
string|callable|null$when необязательный «create» или «update» или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisremove() public
remove(string $field, string|null $rule = null): $this
Удаляет правило из набора по его имени.
Пример:
$validator
->remove('title', 'required')
->remove('user_id') Параметры
-
string$field Имя поля, из которого будет удалено правило.
-
string|null$rule необязательный Имя правила, которое нужно удалить.
Возвращает
$thisrequirePresence() public
requirePresence(string|array $field, bool|string|callable $mode = true, string|null $message = null): $this
Устанавливает, является ли поле обязательным для присутствия в массиве данных. Также можно передать массив. Использование массива позволит вам указать следующие ключи:
-
modeиндивидуальный режим для поля -
messageиндивидуальное сообщение об ошибке для поля
Также можно установить режим и сообщение для всех переданных полей, индивидуальные настройки имеют приоритет над групповыми.
Параметры
-
string|array$field Имя поля или список полей.
-
bool|string|callable$mode необязательный Допустимые значения: true, false, 'create', 'update'. Если передаётся вызываемый объект, то поле будет обязательным только когда callback возвращает true.
-
string|null$message необязательный Сообщение, отображаемое при неудачной проверке присутствия поля.
Возвращает
$thissameAs() public
sameAs(string $field, string $secondField, string|null $message = null, string|callable|null $when = null): $this
Добавляет правило для сравнения двух полей друг с другом.
Если оба поля имеют точно одинаковое значение, правило пройдёт.
Параметры
-
string$field Поле, к которому нужно применить правило.
-
string$secondField Поле, с которым нужно сравнить.
-
string|null$message необязательный Сообщение об ошибке при неудачной проверке.
-
string|callable|null$when необязательный «create» или «update» или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
scalar() public
scalar(string $field, string|null $message = null, string|callable|null $when = null): $this
Добавляет правило валидации, чтобы убедиться, что поле содержит скаляр.
Параметры
-
string$field Поле, к которому нужно применить правило.
-
string|null$message необязательный Сообщение об ошибке при неудачной проверке.
-
string|callable|null$when необязательный «create» или «update» или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
setProvider() public
setProvider(string $name, object|string $object): $this
Связывает объект с именем, чтобы он мог использоваться в качестве поставщика. Поставщики — это объекты или имена классов, которые могут содержать методы, используемые во время валидации, для определения того, может ли быть применено правило валидации. Все методы валидации при вызове получат весь список поставщиков, хранящихся в этом валидаторе.
Параметры
-
string$name Имя, под которым должен быть установлен поставщик.
-
object|string$object Объект поставщика или имя класса.
Возвращает
$thissetStopOnFailure() public
setStopOnFailure(bool $stopOnFailure = true): $this
Определяет, останавливать ли оценку правила валидации на первом неудачном правиле.
При включении первого неудачного правила на поле валидация остановится. При выключении все правила будут выполняться, даже если есть ошибки.
Параметры
-
bool$stopOnFailure необязательный Применять ли последний флаг.
Возвращает
$thistime() public
time(string $field, string|null $message = null, string|callable|null $when = null): $this
Добавляет правило валидации формата времени к полю.
Параметры
-
string$field Поле, к которому нужно применить правило.
-
string|null$message необязательный Сообщение об ошибке при неудачной проверке.
-
string|callable|null$when необязательный «create» или «update» или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
uploadedFile() public
uploadedFile(string $field, array $options, string|null $message = null, string|callable|null $when = null): $this
Добавляет правило валидации, чтобы убедиться, что поле является загруженным файлом.
Для параметров см. Cake\Validation\Validation::uploadedFile()
Параметры
-
string$field Поле, к которому нужно применить правило.
-
array$options Массив параметров.
-
string|null$message необязательный Сообщение об ошибке при неудачной проверке.
-
string|callable|null$when необязательный «create» или «update» или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
url() public
url(string $field, string|null $message = null, string|callable|null $when = null): $this
Добавляет правило валидации, чтобы убедиться, что поле является URL-адресом.
Этот валидатор не требует протокола.
Параметры
-
string$field Поле, к которому нужно применить правило.
-
string|null$message необязательный Сообщение об ошибке при неудачной проверке.
-
string|callable|null$when необязательный «create» или «update» или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
urlWithProtocol() public
urlWithProtocol(string $field, string|null $message = null, string|callable|null $when = null): $this
Добавляет правило валидации, чтобы убедиться, что поле является URL-адресом.
Этот валидатор требует, чтобы URL имел протокол.
Параметры
-
string$field Поле, к которому нужно применить правило.
-
string|null$message необязательный Сообщение об ошибке при неудачной проверке.
-
string|callable|null$when необязательный «create» или «update» или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
utf8() public
utf8(string $field, string|null $message = null, string|callable|null $when = null): $this
Добавляет правило валидации, чтобы убедиться, что поле содержит только байты utf8 BMP.
Параметры
-
string$field Поле, к которому нужно применить правило.
-
string|null$message необязательный Сообщение об ошибке при неудачной проверке.
-
string|callable|null$when необязательный «create» или «update» или вызываемый объект, возвращающий true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
utf8Extended() public
utf8Extended(string $field, string|null $message = null, string|callable|null $when = null): $this
Добавить правило валидации, чтобы убедиться, что поле содержит только байты utf8.
Это правило будет принимать последовательности UTF8 длиной 3 и 4 байта, которые необходимы для эмодзи.
Параметры
-
string$field Поле, к которому нужно применить правило.
-
string|null$message optional Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when optional «create» или «update» или вызываемый объект, который возвращает true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
uuid() public
uuid(string $field, string|null $message = null, string|callable|null $when = null): $this
Добавить правило валидации, чтобы убедиться, что поле является UUID
Параметры
-
string$field Поле, к которому нужно применить правило.
-
string|null$message optional Сообщение об ошибке, если правило не выполняется.
-
string|callable|null$when optional «create» или «update» или вызываемый объект, который возвращает true, когда правило валидации должно быть применено.
Возвращает
$thisСм. также
validate() public
validate(array $data, bool $newRecord = true): array[]
Проверяет и возвращает массив несоответствующих полей и сообщений об ошибках.
Параметры
-
array$data Данные, которые нужно проверить на наличие ошибок
-
bool$newRecord optional являются ли данные, которые нужно проверить, новыми или нужно обновить.
Возвращает
array[]Подробное описание свойств
$_allowEmptyFlags protected
Содержит флаги, которые указывают, что пусто для каждого соответствующего поля.
Тип
array$_allowEmptyMessages protected
Содержит сообщения валидации, связанные с проверкой пустоты для каждого соответствующего поля.
Тип
array$_defaultProviders protected static
Ассоциативный массив объектов или классов, используемых в качестве списка поставщиков по умолчанию
Тип
array$_fields protected
Содержит массив объектов ValidationSet
Тип
Cake\Validation\ValidationSet[]$_presenceMessages protected
Содержит сообщения валидации, связанные с проверкой наличия для каждого соответствующего поля.
Тип
array$_providers protected
Ассоциативный массив объектов или классов, содержащих методы, используемые для валидации
Тип
array$_stopOnFailure protected
Применять ли последний флаг к сгенерированному(ым) правилу(ам).
Тип
bool$_useI18n protected
Использовать ли функции I18n для перевода сообщений об ошибках по умолчанию
Тип
bool
© 2005–present 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/4.2/class-Cake.Validation.Validator.html