Spec-Zone.ru › CakePHP 3.7

Класс Validator

Объект Validator объединяет все методы, связанные с проверкой данных для модели. Он также предоставляет API для динамического изменения правил проверки для каждого поля модели.

Реализует ArrayAccess для удобной модификации правил в наборе.

Cake\Validation\Validator реализует ArrayAccess, IteratorAggregate, Countable
Пространство имён: Cake\Validation
Ссылка: https://book.cakephp.org/3.0/ru/core-libraries/validation.html
Расположение: Validation/Validator.php

Краткое описание констант

  • integer

    EMPTY_ALL
    self::EMPTY_STRING|self::EMPTY_ARRAY|self::EMPTY_FILE|self::EMPTY_DATE|self::EMPTY_TIME
  • integer

    EMPTY_ARRAY
    2
  • integer

    EMPTY_DATE
    8
  • integer

    EMPTY_FILE
    4
  • integer

    EMPTY_STRING
    1
  • integer

    EMPTY_TIME
    16
  • string

    NESTED
    '_nested'

Краткое описание свойств

  • $_allowEmptyFlags protected
    array
    Содержит флаги, которые указывают, что пусто для каждого соответствующего поля.
  • $_allowEmptyMessages protected
    array

    Содержит сообщения проверки, связанные с проверкой пустоты для каждого соответствующего поля.

  • $_defaultProviders protected static
    array
    Ассоциативный массив объектов или классов, используемых в качестве списка поставщиков по умолчанию
  • $_fields protected
    array
    Массив объектов ValidationSet
  • $_presenceMessages protected
    array

    Содержит сообщения проверки, связанные с проверкой наличия для каждого соответствующего поля.

  • $_providers protected
    array

    Ассоциативный массив объектов или классов, содержащих методы, используемые для проверки.

  • $_useI18n protected
    boolean
    Использовать ли функции 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
  • boolean() public
    Добавляет правило валидации boolean для поля.
  • containsNonAlphaNumeric() public
    Добавляет правило, проверяющее наличие небуквенно-цифровых символов в поле.
  • count() public
    Возвращает количество полей с правилами валидации
  • creditCard() public
    Добавляет правило валидации для номера кредитной карты.
  • date() public
    Добавляет правило валидации формата даты для поля.
  • dateTime() public
    Добавляет правило валидации формата даты и времени для поля.
  • decimal() public
    Добавляет правило валидации decimal для поля.
  • email() public
    Добавляет правило валидации для адресов электронной почты.
  • equalToField() public
    Добавляет правило сравнения значения одного поля с другим.
  • equals() public
    Добавляет правило сравнения полей на равенство.
  • errors() public

    Возвращает массив полей, которые не прошли валидацию. Для текущей модели. Этот метод фактически выполнит правила валидации над данными, а не просто вернёт сообщения.

  • 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
    Добавляет правило валидации, чтобы убедиться, что поле является целым числом.
  • 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
    Добавляет правило проверки, чтобы гарантировать, что поле является неотрицательным целым числом.
  • notBlank() public
    Добавляет правило notBlank для поля.
  • notEmpty() public deprecated

    Устанавливает требование о непустом значении для поля. Также можно передать массив. Использование массива позволит задать следующие ключи:

  • notEqualToField() public
    Добавляет правило сравнения одного поля с другим по условию "не равно".
  • notEquals() public
    Добавляет правило сравнения "не равно" для поля.
  • notSameAs() public
    Добавляет правило сравнения, гарантирующее, что два поля имеют разные значения.
  • numeric() public
    Добавляет правило проверки на числовое значение для поля.
  • offsetExists() public
    Возвращает, определено ли правило для поля.
  • offsetGet() public
    Возвращает набор правил для поля.
  • offsetSet() public
    Устанавливает набор правил для поля.
  • offsetUnset() public
    Удаляет набор правил для поля.
  • provider() public deprecated

    Ассоциирует объект с именем, чтобы он мог быть использован в качестве поставщика. Поставщики — это объекты или имена классов, которые могут содержать методы, используемые во время проверки для определения, может ли быть применено правило проверки. Все методы проверки, при вызове, получат полный список поставщиков, хранящихся в этом валидаторе.

  • providers() public
    Получить список поставщиков в этом валидаторе.
  • range() public
    Добавляет правило проверки, чтобы гарантировать, что поле находится в числовом диапазоне.
  • regex() public
    Возвращает, соответствует ли поле регулярному выражению.
  • remove() public
    Удаляет правило из набора по его имени.
  • requirePresence() public

    Устанавливает, обязательно ли поле должно присутствовать в массиве данных. Также можно передать массив. Использование массива позволит задать следующие ключи:

  • sameAs() public
    Добавляет правило сравнения двух полей между собой.
  • scalar() public
    Добавляет правило проверки, чтобы гарантировать, что поле содержит скалярное значение.
  • setProvider() public

    Ассоциирует объект с именем, чтобы он мог быть использован в качестве поставщика. Поставщики — это объекты или имена классов, которые могут содержать методы, используемые во время проверки для определения, может ли быть применено правило проверки. Все методы проверки, при вызове, получат полный список поставщиков, хранящихся в этом валидаторе.

  • time() public
    Добавляет правило проверки формата времени для поля.
  • uploadedFile() public
    Добавляет правило проверки, чтобы гарантировать, что поле является загруженным файлом.
  • url() public
    Добавляет правило проверки, чтобы гарантировать, что поле является URL-адресом.
  • urlWithProtocol() public
    Добавляет правило проверки, чтобы гарантировать, что поле является URL-адресом.
  • utf8() public
    Добавляет правило проверки, чтобы гарантировать, что поле содержит только байты BMP utf8.
  • utf8Extended() public
    Добавляет правило проверки, чтобы гарантировать, что поле содержит только байты utf8.
  • uuid() public
    Добавляет правило проверки, чтобы гарантировать, что поле является UUID.

Подробное описание методов

__construct()source public

__construct( )

Конструктор

__debugInfo()source public

__debugInfo( )

Получить печатную версию этого объекта.

Возвращает

array

_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

_convertValidatorToArray()source protected

_convertValidatorToArray( integer|string $fieldName , array $defaults = [] , string|array $settings = [] )

Преобразует валидатор в массив fieldName => $settings

Параметры

целое число или строка $fieldName
имя поля
массив $defaults необязательно []
настройки по умолчанию
строка или массив $settings необязательно []
настройки из данных

Возвращает

массив

_fieldIsEmpty()source protected устарело

_fieldIsEmpty( mixed $data )

Возвращает true, если поле пустое в переданном массиве данных

Устарело

3.7.0 Используйте isEmpty() вместо этого

Параметры

смешанное значение $data
Значение для проверки.

Возвращает

boolean

_processRules()source protected

_processRules( string $field , Cake\Validation\ValidationSet $rules , array $data , boolean $newRecord )

Итерируется по каждому правилу в наборе валидации и собирает ошибки, возникающие при их выполнении

Параметры

строка $field
Имя обрабатываемого поля
Cake\Validation\ValidationSet $rules
список правил для поля
массив $data
полные данные, переданные валидатору
булево значение $newRecord
является ли это новой записью или существующей

Возвращает

массив

add()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 $rule необязательно []
правило для добавления

Возвращает


$this

addDefaultProvider()source public static

addDefaultProvider( string $name , object|string $object )

Связывает объект с именем, чтобы он мог использоваться в качестве поставщика по умолчанию.

Параметры

строка $name
Имя, под которым должен быть установлен поставщик.
объект или имя класса $object
Объект-поставщик или имя класса.

addNested()source public

addNested( string $field , Cake\Validation\Validator $validator , string|null $message = null , string|callable|null $when = null )

Добавляет вложенный валидатор.

Вложенные валидаторы позволяют определять валидаторы для массивов. Например, вложенные валидаторы идеально подходят для валидации поддокумента или сложного массива.

Этот метод предполагает, что поддокумент имеет отношение 1:1 с родительским.

Поставщики родительского валидатора будут синхронизированы во вложенный валидатор при проверке ошибок. Это гарантирует, что все поставщики правил валидации, подключенные к родителю, будут иметь одинаковые значения во вложенном валидаторе при оценке правил.

Параметры

строка $field
Корневое поле для вложенного валидатора.
Cake\Validation\Validator $validator
Вложенный валидатор.
строка или null $message необязательно null
Сообщение об ошибке при ошибке правила.
строка, вызываемая функция или null $when необязательно null

Либо 'create', либо 'update', либо вызываемая функция, которая возвращает true, когда правило валидации должно быть применено.

Возвращает


$this

addNestedMany()source public

addNestedMany( string $field , Cake\Validation\Validator $validator , string|null $message = null , string|callable|null $when = null )

Добавляет вложенный валидатор.

Вложенные валидаторы позволяют определять валидаторы для массивов. Например, вложенные валидаторы идеально подходят для валидации множества похожих поддокументов или сложных типов массивов.

Этот метод предполагает, что поддокумент имеет отношение 1:N с родителем.

Поставщики родительского валидатора будут синхронизированы во вложенный валидатор при проверке ошибок. Это гарантирует, что все поставщики правил валидации, подключенные к родителю, будут иметь одинаковые значения во вложенном валидаторе при оценке правил.

Параметры

строка $field
Корневое поле для вложенного валидатора.
Cake\Validation\Validator $validator
Вложенный валидатор.
строка или null $message необязательно null
Сообщение об ошибке при ошибке правила.
строка, вызываемая функция или null $when необязательно null

Либо 'create', либо 'update', либо вызываемая функция, которая возвращает true, когда правило валидации должно быть применено.

Возвращает


$this

allowEmpty()source public устарело

allowEmpty( string|array $field , boolean|string|callable $when = true , string|null $message = null )

Разрешает поле быть пустым. Также можно передать массив. Использование массива позволит вам предоставить следующие ключи:

  • when условие для поля
  • 'message' индивидуальное сообщение для поля

Также можно задать when и message для всех переданных полей, индивидуальное значение имеет приоритет над групповыми значениями.

Это противоположность notEmpty(), которая требует, чтобы поле не было пустым. Используя $mode равный 'create' или 'update', можно разрешить поля быть пустыми при первом создании записей или при их обновлении.

Пример:

// Email can be empty
$validator->allowEmpty('email');

// Email can be empty on create
$validator->allowEmpty('email', 'create');

// Email can be empty on update
$validator->allowEmpty('email', 'update');

// Email and subject can be empty on update
$validator->allowEmpty(['email', 'subject'], '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'
     ],
     'update'
);

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

$validator->allowEmpty('email', function ($context) {
 return !$context['newRecord'] || $context['data']['role'] === 'admin';
});

Этот метод правильно обнаружит пустые загрузки файлов и поля типа дата/время.

Поскольку этот метод и notEmpty() изменяют одно и то же внутреннее состояние, последний вызванный метод будет иметь приоритет.

Устарело

3.7.0 Используйте allowEmptyString(), allowEmptyArray(), allowEmptyFile(), allowEmptyDate(), allowEmptyTime() или allowEmptyDateTime() вместо этого.


Параметры

строка или массив $field
имя поля или список полей
boolean, строка или callable $when необязательно true

Указывает, когда поле разрешается быть пустым. Допустимые значения — true (всегда), 'create', 'update'. Если передан обратный вызов, то поле будет пустым только тогда, когда обратный вызов возвращает true.

строка или null $message необязательно null
Сообщение для отображения, если поле не

Возвращает


$this

allowEmptyArray()source public

allowEmptyArray( string $field , boolean|string|callable $when = true , string|null $message = null )

Разрешает поле быть пустым массивом.

Этот метод эквивалентен вызову allowEmptyFor() с флагами EMPTY_STRING + EMPTY_ARRAY.

Параметры

строка $field
Имя поля.
boolean, строка или callable $when необязательно true

Указывает, когда поле разрешается быть пустым. Допустимые значения — true, false, 'create', 'update'. Если передан обратный вызов, то поле будет пустым только тогда, когда обратный вызов возвращает true.

строка или null $message необязательно null
Сообщение для отображения, если поле не

Возвращает


$this

Since

3.7.0

См

\Cake\Validation\Validator::allowEmptyFor() Для подробного использования

allowEmptyDate()source public

allowEmptyDate( string $field , boolean|string|callable $when = true , string|null $message = null )

Разрешает поле быть пустой датой.

Этот метод эквивалентен вызову allowEmptyFor() с флагами EMPTY_STRING + EMPTY_DATE.

Параметры

строка $field
Имя поля.
boolean, строка или callable $when необязательно true

Указывает, когда поле разрешается быть пустым. Допустимые значения — true, false, 'create', 'update'. Если передан обратный вызов, то поле будет пустым только тогда, когда обратный вызов возвращает true.

строка или null $message необязательно null
Сообщение для отображения, если поле не

Возвращает


$this

Since

3.7.0

См

\Cake\Validation\Validator::allowEmptyFor() Для подробного использования
END_OF_DOCUMENT_MARKER

allowEmptyDateTime()source public

allowEmptyDateTime( string $field , boolean|string|callable $when = true , string|null $message = null )

Разрешает поле быть пустой датой/временем.

Этот метод эквивалентен вызову allowEmptyFor() с флагами EMPTY_STRING + EMPTY_DATE + EMPTY_TIME.

Параметры

string $field
Имя поля.
boolean|string|callable $when optional true

Указывает, когда поле может быть пустым. Допустимые значения: true, false, 'create', 'update'. Если передана вызываемая функция, то поле будет разрешено быть пустым только тогда, когда функция вернёт true.

string|null $message optional null
Сообщение, отображаемое, если поле не

Возвращает


$this

С тех пор

3.7.0

См. также

\Cake\Validation\Validator::allowEmptyFor() Для подробного использования

allowEmptyFile()source public

allowEmptyFile( string $field , boolean|string|callable $when = true , string|null $message = null )

Разрешает поле быть пустым файлом.

Этот метод эквивалентен вызову allowEmptyFor() с флагом EMPTY_FILE.

Параметры

string $field
Имя поля.
boolean|string|callable $when optional true

Указывает, когда поле может быть пустым. Допустимые значения: true, false, 'create', 'update'. Если передана вызываемая функция, то поле будет разрешено быть пустым только тогда, когда функция вернёт true.

string|null $message optional null
Сообщение, отображаемое, если поле не

Возвращает


$this

С тех пор

3.7.0

См. также

\Cake\Validation\Validator::allowEmptyFor() Для подробного использования

allowEmptyFor()source public

allowEmptyFor( string $field , integer|null $flags , boolean|string|callable $when = true , string|null $message = null )

Указывает, что поле может быть пустым.

Использование массива позволит вам указать следующие ключи:

  • flags индивидуальные флаги для поля
  • when индивидуальные условия для поля
  • message индивидуальные сообщения для поля

Вы также можете установить флаги, время и сообщение для всех переданных полей, индивидуальные настройки имеют приоритет над групповыми настройками.

Пример:

// Email can be empty
$validator->allowEmptyFor('email', Validator::EMPTY_STRING);

// Email can be empty on create
$validator->allowEmptyFor('email', Validator::EMPTY_STRING, 'create');

// Email can be empty on update
$validator->allowEmptyFor('email', Validator::EMPTY_STRING, '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
Имя поля.
integer|null $flags
Побитовая маска флагов EMPTY_*, которые указывают, что пусто
boolean|string|callable $when optional true

Указывает, когда поле может быть пустым. Допустимые значения: true, false, 'create', 'update'. Если передана вызываемая функция, то поле будет разрешено быть пустым только тогда, когда функция вернёт true.

string|null $message optional null
Сообщение, отображаемое, если поле не

Возвращает


$this

С тех пор

3.7.0

allowEmptyString()source public

allowEmptyString( string $field , boolean|string|callable $when = true , string|null $message = null )

Разрешает поле быть пустой строкой.

Этот метод эквивалентен вызову allowEmptyFor() с флагом EMPTY_STRING.

Параметры

string $field
Имя поля.
boolean|string|callable $when optional true

Указывает, когда поле может быть пустым. Допустимые значения: true, false, 'create', 'update'. Если передана вызываемая функция, то поле будет разрешено быть пустым только тогда, когда функция вернёт true.

string|null $message optional null
Сообщение, отображаемое, если поле не

Возвращает


$this

С тех пор

3.7.0

См. также

\Cake\Validation\Validator::allowEmptyFor() Для подробного использования

allowEmptyTime()source public

allowEmptyTime( string $field , boolean|string|callable $when = true , string|null $message = null )

Разрешает поле быть пустым временем.

Этот метод эквивалентен вызову allowEmptyFor() с флагами EMPTY_STRING + EMPTY_TIME.

Параметры

string $field
Имя поля.
boolean|string|callable $when optional true

Указывает, когда поле может быть пустым. Допустимые значения: true, false, 'create', 'update'. Если передана вызываемая функция, то поле будет разрешено быть пустым только тогда, когда функция вернёт true.

string|null $message optional null
Сообщение, отображаемое, если поле не

Возвращает


$this

С тех пор

3.7.0

См. также

\Cake\Validation\Validator::allowEmptyFor() Для подробного использования

alphaNumeric()source public

alphaNumeric( string $field , string|null $message = null , string|callable|null $when = null )

Добавляет правило проверки на алфавитно-цифровое значение поля.

Параметры

string $field
Поле, к которому нужно применить правило.
string|null $message optional null
Сообщение об ошибке, если правило не выполняется.
string|callable|null $when optional 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.

Параметры

string $field
Поле, к которому нужно применить правило.
string|null $message optional null
Сообщение об ошибке, если правило не выполняется.
string|callable|null $when optional null

Значение 'create' или 'update' или вызываемая функция, возвращающая true, когда правило валидации должно быть применено.

Возвращает


$this

См. также

\Cake\Validation\Validation::ascii()

boolean()source public

boolean( string $field , string|null $message = null , string|callable|null $when = null )

Добавляет правило проверки на булево значение поля.

Параметры

string $field
Поле, к которому нужно применить правило.
string|null $message optional null
Сообщение об ошибке, если правило не выполняется.
string|callable|null $when optional 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 )

Добавляет правило для проверки, содержит ли поле не алфавитно-цифровые символы.

Параметры

string $field
Поле, к которому нужно применить правило.
integer $limit optional 1
Минимальное количество не алфавитно-цифровых символов, требуемых.
string|null $message optional null
Сообщение об ошибке, если правило не выполняется.
string|callable|null $when optional null

Значение 'create' или 'update' или вызываемая функция, возвращающая true, когда правило валидации должно быть применено.

Возвращает


$this

См. также

\Cake\Validation\Validation::containsNonAlphaNumeric()

count()source public

count( )

Возвращает количество полей, имеющих правила валидации.

Возвращает

integer

Реализация

Countable::count()

creditCard()source public

creditCard( string $field , string $type = 'all' , string|null $message = null , string|callable|null $when = null )

Добавить правило проверки кредитных карт к полю.

Параметры

string $field
Поле, к которому нужно применить правило.
string $type необязательно 'all'

Тип карт, которые нужно разрешить. По умолчанию 'all'. Также можно указать массив допустимых типов карт. Например, ['mastercard', 'visa', 'amex']

string|null $message необязательно null
Сообщение об ошибке при нарушении правила.
string|callable|null $when необязательно null

Значение 'create', 'update' или вызываемый объект, возвращающий true, когда правило проверки должно быть применено.

Возвращает


$this

См. также

\Cake\Validation\Validation::creditCard()

date()source public

date( string $field , array $formats = ['ymd'] , string|null $message = null , string|callable|null $when = null )

Добавить правило проверки формата даты к полю.

Параметры

string $field
Поле, к которому нужно применить правило.
array $formats необязательно ['ymd']
Список допустимых форматов дат.
string|null $message необязательно null
Сообщение об ошибке при нарушении правила.
string|callable|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 )

Добавить правило проверки формата даты и времени к полю.

Параметры

string $field
Поле, к которому нужно применить правило.
array $formats необязательно ['ymd']
Список допустимых форматов дат.
string|null $message необязательно null
Сообщение об ошибке при нарушении правила.
string|callable|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 )

Добавить правило проверки десятичного числа к полю.

Параметры

string $field
Поле, к которому нужно применить правило.
integer|null $places необязательно null
Количество знаков после запятой.
string|null $message необязательно null
Сообщение об ошибке при нарушении правила.
string|callable|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 )

Добавить правило проверки электронной почты к полю.

Параметры

string $field
Поле, к которому нужно применить правило.
boolean $checkMX необязательно false
Выполнять ли проверку MX записей.
string|null $message необязательно null
Сообщение об ошибке при нарушении правила.
string|callable|null $when необязательно null

Значение 'create', 'update' или вызываемый объект, возвращающий true, когда правило проверки должно быть применено.

Возвращает


$this

См. также

\Cake\Validation\Validation::email()

equalToField()source public

equalToField( string $field , string $secondField , string|null $message = null , string|callable|null $when = null )

Добавить правило сравнения одного поля с другим.

Параметры

string $field
Поле, к которому нужно применить правило.
string $secondField
Поле, с которым нужно сравнить.
string|null $message необязательно null
Сообщение об ошибке при нарушении правила.
string|callable|null $when необязательно null

Значение 'create', 'update' или вызываемый объект, возвращающий true, когда правило проверки должно быть применено.

Возвращает


$this

См. также

\Cake\Validation\Validation::compareFields()

С момента

3.6.0

equals()source public

equals( string $field , integer|float $value , string|null $message = null , string|callable|null $when = null )

Добавить правило сравнения поля со значением.

Параметры

string $field
Поле, к которому нужно применить правило.
integer|float $value
Значение, с которым должно совпадать пользовательские данные.
string|null $message необязательно null
Сообщение об ошибке при нарушении правила.
string|callable|null $when необязательно null

Значение 'create', 'update' или вызываемый объект, возвращающий true, когда правило проверки должно быть применено.

Возвращает


$this

См. также

\Cake\Validation\Validation::comparison()

errors()source public

errors( array $data , boolean $newRecord = true )

Возвращает массив полей, которые не прошли проверку. Для текущей модели. Этот метод фактически выполнит правила проверки на данных, а не только вернёт сообщения.

Параметры

array $data
Данные для проверки ошибок
boolean $newRecord необязательно true
Являются ли данные новыми или обновлёнными.

Возвращает

array
Массив недопустимых полей

field()source public

field( string $name , Cake\Validation\ValidationSet $set = null )

Возвращает объект ValidationSet, содержащий все правила проверки для поля. Если в качестве второго аргумента передать ValidationSet, он заменит любые другие правила, определённые ранее.

Параметры

string $name
[необязательно] Имя поля для извлечения.
Cake\Validation\ValidationSet $set необязательно null
Набор правил для поля.

Возвращает

Cake\Validation\ValidationSet

getDefaultProvider()source public static

getDefaultProvider( string $name )

Возвращает поставщика по умолчанию, если он существует.

Параметры

string $name
Имя, под которым должен быть извлечён поставщик.

Возвращает

object|string|null

getDefaultProviders()source public static

getDefaultProviders( )

Получить список поставщиков по умолчанию.

Возвращает

string[]

getIterator()source public

getIterator( )

Возвращает итератор для каждого поля, которое нужно проверить.

Возвращает

ArrayIterator

Реализация

IteratorAggregate::getIterator()
END_OF_DOCUMENT_MARKER

getNotEmptyMessage()source public

getNotEmptyMessage( string $field )

Получает сообщение неEmpty для поля

Параметры

строка $field
Имя поля

Возвращает

string|null

getProvider()source public

getProvider( string $name )

Возвращает поставщика, сохранённого под этим именем, если он существует.

Параметры

строка $name
Имя, под которым поставщик должен быть установлен.

Возвращает

object|string|null

Исключения

ReflectionException

getRequiredMessage()source public

getRequiredMessage( string $field )

Получает сообщение required для поля

Параметры

строка $field
Имя поля

Возвращает

string|null

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()

greaterThanField()source public

greaterThanField( string $field , string $secondField , string|null $message = null , string|callable|null $when = null )

Добавляет правило для сравнения одного поля больше другого.

Параметры

строка $field
Поле, к которому вы хотите применить правило.
строка $secondField
Поле, с которым вы хотите сравнить.
строка|null $message необязательный null
Сообщение об ошибке, когда правило не выполняется.
строка|callable|null $when необязательный null

Либо 'create', либо 'update', либо вызываемый объект, который возвращает true, когда правило валидации должно быть применено.

Возвращает


$this

См. также

\Cake\Validation\Validation::compareFields()

С тех пор

3.6.0

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()

greaterThanOrEqualToField()source public

greaterThanOrEqualToField( string $field , string $secondField , string|null $message = null , string|callable|null $when = null )

Добавляет правило для сравнения одного поля больше или равно другому.

Параметры

строка $field
Поле, к которому вы хотите применить правило.
строка $secondField
Поле, с которым вы хотите сравнить.
строка|null $message необязательный null
Сообщение об ошибке, когда правило не выполняется.
строка|callable|null $when необязательный null

Либо 'create', либо 'update', либо вызываемый объект, который возвращает true, когда правило валидации должно быть применено.

Возвращает


$this

См. также

\Cake\Validation\Validation::compareFields()

С тех пор

3.6.0

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
Имя поля для проверки.

Возвращает

boolean

hexColor()source public

hexColor( string $field , string|null $message = null , string|callable|null $when = null )

Добавляет правило валидации, чтобы убедиться, что поле является 6-значным значением цвета в формате hex.

Параметры

строка $field
Поле, к которому вы хотите применить правило.
строка|null $message необязательный null
Сообщение об ошибке, когда правило не выполняется.
строка|callable|null $when необязательный null

Либо 'create', либо 'update', либо вызываемый объект, который возвращает true, когда правило валидации должно быть применено.

Возвращает


$this

См. также

\Cake\Validation\Validation::hexColor()

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()
END_OF_DOCUMENT_MARKER

integer()source public

integer( 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::isInteger()

ip()source public

ip( string $field , string|null $message = null , string|callable|null $when = null )

Добавить правило валидации IP-адреса к полю.

Это правило будет принимать как IPv4, так и IPv6 адреса.

Параметры

строка $field
Поле, к которому вы хотите применить правило.
строка|null $message необязательно null
Сообщение об ошибке, если правило не выполняется.
строка|вызываемая функция|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
Сообщение об ошибке, если правило не выполняется.
строка|вызываемая функция|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

См. также

\Cake\Validation\Validation::isArray()

isEmpty()source protected

isEmpty( mixed $data , integer $flags )

Возвращает true, если поле пустое в переданном массиве данных.

Параметры

смешанное $data
Значение для проверки.
целое число $flags
Маска битов EMPTY_*, которые определяют, что является пустым.

Возвращаемое значение

boolean

isEmptyAllowed()source public

isEmptyAllowed( string $field , boolean $newRecord )

Возвращает, разрешено ли оставить поле пустым для новой или уже существующей записи.

Параметры

строка $field
Имя поля.
булево $newRecord
указывает, новые данные или обновляемые.

Возвращаемое значение

boolean

isPresenceRequired()source public

isPresenceRequired( string $field , boolean $newRecord )

Возвращает, требуется ли поле для новой или уже существующей записи.

Параметры

строка $field
Имя поля.
булево $newRecord
указывает, новые данные или обновляемые.

Возвращаемое значение

boolean

latLong()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()

lessThanField()source public

lessThanField( string $field , string $secondField , string|null $message = null , string|callable|null $when = null )

Добавить правило для сравнения одного поля с другим, чтобы оно было меньше.

Параметры

string $field
Поле, к которому нужно применить правило.
string $secondField
Поле, с которым нужно сравнить.
string|null $message необязательно null
Сообщение об ошибке при нарушении правила.
string|callable|null $when необязательно null

Значение 'create' или 'update' или вызываемый объект, возвращающий true, если правило валидации должно быть применено.

Возвращаемое значение


$this

См. также

\Cake\Validation\Validation::compareFields()

С версии

3.6.0

lessThanOrEqual()source public

lessThanOrEqual( string $field , integer|float $value , string|null $message = null , string|callable|null $when = null )

Добавить правило сравнения поля с другим, чтобы оно было меньше или равно.

Параметры

string $field
Поле, к которому нужно применить правило.
integer|float $value
Значение, которому пользовательские данные должны быть меньше или равны.
string|null $message необязательно null
Сообщение об ошибке при нарушении правила.
string|callable|null $when необязательно null

Значение 'create' или 'update' или вызываемый объект, возвращающий true, если правило валидации должно быть применено.

Возвращаемое значение


$this

См. также

\Cake\Validation\Validation::comparison()

lessThanOrEqualToField()source public

lessThanOrEqualToField( string $field , string $secondField , string|null $message = null , string|callable|null $when = null )

Добавить правило для сравнения одного поля с другим, чтобы оно было меньше или равно.

Параметры

string $field
Поле, к которому нужно применить правило.
string $secondField
Поле, с которым нужно сравнить.
string|null $message необязательно null
Сообщение об ошибке при нарушении правила.
string|callable|null $when необязательно null

Значение 'create' или 'update' или вызываемый объект, возвращающий true, если правило валидации должно быть применено.

Возвращаемое значение


$this

См. также

\Cake\Validation\Validation::compareFields()

С версии

3.6.0

localizedTime()source public

localizedTime( string $field , string $type = 'datetime' , string|null $message = null , string|callable|null $when = null )

Добавить правило валидации для локального времени, даты или даты и времени.

Параметры

string $field
Поле, к которому нужно применить правило.
string $type необязательно 'datetime'
Тип парсера, один из 'date', 'time' и 'datetime'
string|null $message необязательно null
Сообщение об ошибке при нарушении правила.
string|callable|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 )

Добавить правило валидации для проверки поля на соответствие долготе.

Параметры

string $field
Поле, к которому нужно применить правило.
string|null $message необязательно null
Сообщение об ошибке при нарушении правила.
string|callable|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 )

Добавить правило валидации длины строки для поля.

Параметры

string $field
Поле, к которому нужно применить правило.
integer $max
Максимальная длина.
string|null $message необязательно null
Сообщение об ошибке при нарушении правила.
string|callable|null $when необязательно null

Значение 'create' или 'update' или вызываемый объект, возвращающий true, если правило валидации должно быть применено.

Возвращаемое значение


$this

См. также

\Cake\Validation\Validation::maxLength()

maxLengthBytes()source public

maxLengthBytes( string $field , integer $max , string|null $message = null , string|callable|null $when = null )

Добавить правило валидации длины строки для поля.

Параметры

string $field
Поле, к которому нужно применить правило.
integer $max
Максимальная длина.
string|null $message необязательно null
Сообщение об ошибке при нарушении правила.
string|callable|null $when необязательно null

Значение 'create' или 'update' или вызываемый объект, возвращающий true, если правило валидации должно быть применено.

Возвращаемое значение


$this

См. также

\Cake\Validation\Validation::maxLengthBytes()

minLength()source public

minLength( string $field , integer $min , string|null $message = null , string|callable|null $when = null )

Добавить правило валидации длины строки для поля.

Параметры

string $field
Поле, к которому нужно применить правило.
integer $min
Минимальная длина.
string|null $message необязательно null
Сообщение об ошибке при нарушении правила.
string|callable|null $when необязательно null

Значение 'create' или 'update' или вызываемый объект, возвращающий true, если правило валидации должно быть применено.

Возвращаемое значение


$this

См. также

\Cake\Validation\Validation::minLength()

minLengthBytes()source public

minLengthBytes( string $field , integer $min , string|null $message = null , string|callable|null $when = null )

Добавить правило валидации длины строки для поля.

Параметры

string $field
Поле, к которому нужно применить правило.
integer $min
Минимальная длина.
string|null $message необязательно null
Сообщение об ошибке при нарушении правила.
string|callable|null $when необязательно null

Значение 'create' или 'update' или вызываемый объект, возвращающий true, если правило валидации должно быть применено.

Возвращаемое значение


$this

См. также

\Cake\Validation\Validation::minLengthBytes()

multipleOptions()source public

multipleOptions( string $field , array $options = [] , string|null $message = null , string|callable|null $when = null )

Добавить правило валидации для множественного выбора. Сравнение по умолчанию регистрозависимое.

Параметры

string $field
Поле, к которому нужно применить правило.
array $options необязательно []

Параметры для валидатора. Включает параметры, определенные в \Cake\Validation\Validation::multiple() и параметр caseInsensitive.

string|null $message необязательно null
Сообщение об ошибке при нарушении правила.
string|callable|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|array $field , string|null $message = null , boolean|string|callable $when = false )

Устанавливает требование к полю о необходимости иметь ненулевое значение. Вы также можете передать массив. Использование массива позволит вам предоставить следующие ключи:

  • 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, 'update');

// Email and title can be empty on create, but are required on update.
$validator->notEmpty(['email', 'title'], $message, '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,
     'update'
);

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

$validator->notEmpty('email', 'Email is required', function ($context) {
  return $context['newRecord'] && $context['data']['role'] !== 'admin';
});

Поскольку этот и allowEmpty() изменяют одно и то же внутреннее состояние, последний вызываемый метод будет иметь приоритет.

Устаревший

3.7.0 Используйте allowEmptyString(), allowEmptyArray(), allowEmptyFile(), allowEmptyDate(), allowEmptyTime() или allowEmptyDateTime() с обратным условием вместо этого.


Параметры

строка|массив $field
имя поля или список полей
строка|null $message необязательно null
Сообщение, отображаемое, если поле не
булево|строка|вызываемый объект $when необязательно false

Указывает, когда поле не должно быть пустым. Допустимые значения: true (всегда), 'create', 'update'. Если передан вызываемый объект, то поле будет разрешено быть пустым только тогда, когда обратный вызов вернет false.

Возвращаемое значение


$this

notEqualToField()source public

notEqualToField( string $field , string $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::compareFields()

С тех пор как

3.6.0

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()

notSameAs()source public

notSameAs( string $field , string $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::compareFields()

С тех пор как

3.6.0

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 )

Удаляет набор правил для поля

Параметры

string $field
Имя поля, которое нужно удалить

Реализация

ArrayAccess::offsetUnset()

provider()source public deprecated

provider( string $name , null|object|string $object = null )

Связывает объект с именем, чтобы его можно было использовать в качестве поставщика. Поставщики — это объекты или имена классов, которые могут содержать методы, используемые во время валидации для определения того, можно ли применить правило валидации. Все методы валидации, когда вызываются, получат полный список поставщиков, сохранённых в этом валидаторе.

Если вызвана без аргументов, она вернёт поставщика, сохранённого под этим именем, если он существует, в противном случае вернёт текущий экземпляр цепочки.

Устарело

3.4.0 Используйте setProvider()/getProvider() вместо этого.

Параметры

string $name
Имя, под которым должен быть установлен поставщик.
null|object|string $object optional null
Объект-поставщик или имя класса.

Возвращает


$this|object|string|null

providers()source public

providers( )

Получает список поставщиков в этом валидаторе.

Возвращает

string[]

range()source public

range( string $field , array $range , string|null $message = null , string|callable|null $when = null )

Добавляет правило валидации, чтобы убедиться, что поле находится в числовом диапазоне

Параметры

string $field
Поле, к которому нужно применить правило.
array $range
Включительно верхняя и нижняя границы допустимого диапазона.
string|null $message optional null
Сообщение об ошибке при неудаче правила.
string|callable|null $when optional null

Либо 'create', либо 'update', либо вызываемый объект, возвращающий true, когда правило валидации должно быть применено.

Возвращает


$this

См. также

\Cake\Validation\Validation::range()

regex()source public

regex( string $field , string $regex , string|null $message = null , string|callable|null $when = null )

Определяет, соответствует ли поле регулярному выражению.

Параметры

string $field
Имя поля.
string $regex
Регулярное выражение.
string|null $message optional null
Сообщение об ошибке при неудаче правила.
string|callable|null $when optional null

Либо 'create', либо 'update', либо вызываемый объект, возвращающий true, когда правило валидации должно быть применено.

Возвращает


$this

remove()source public

remove( string $field , string|null $rule = null )

Удаляет правило из набора по его имени

Пример:

$validator
         ->remove('title', 'required')
         ->remove('user_id')

Параметры

string $field
Имя поля, из которого будет удалено правило
string|null $rule optional null
имя правила, которое нужно удалить

Возвращает


$this

requirePresence()source public

requirePresence( string|array $field , boolean|string|callable $mode = true , string|null $message = null )

Устанавливает, требуется ли присутствие поля в массиве данных. Также можно передать массив. Использование массива позволит вам указать следующие ключи:

  • mode индивидуальный режим для поля
  • message индивидуальное сообщение об ошибке для поля

Вы также можете установить режим и сообщение для всех переданных полей, индивидуальная настройка имеет приоритет над групповыми настройками.

Параметры

string|array $field
имя поля или список полей.
boolean|string|callable $mode optional true

Допустимые значения — true, false, 'create', 'update'. Если передана вызываемая функция, поле будет обязательным только когда обратный вызов вернёт true.

string|null $message optional null
Сообщение, отображаемое, если проверка присутствия поля завершилась неудачей.

Возвращает


$this

sameAs()source public

sameAs( string $field , string $secondField , string|null $message = null , string|callable|null $when = null )

Добавляет правило сравнения двух полей друг с другом.

Если оба поля имеют одинаковое значение, правило пройдёт.

Параметры

string $field
Поле, к которому нужно применить правило.
string $secondField
Поле, с которым нужно сравнить.
string|null $message optional null
Сообщение об ошибке при неудаче правила.
string|callable|null $when optional null

Либо 'create', либо 'update', либо вызываемый объект, возвращающий true, когда правило валидации должно быть применено.

Возвращает


$this

См. также

\Cake\Validation\Validation::compareFields()

scalar()source public

scalar( string $field , string|null $message = null , string|callable|null $when = null )

Добавляет правило валидации, чтобы убедиться, что поле содержит скаляр.

Параметры

string $field
Поле, к которому нужно применить правило.
string|null $message optional null
Сообщение об ошибке при неудаче правила.
string|callable|null $when optional null

Либо 'create', либо 'update', либо вызываемый объект, возвращающий true, когда правило валидации должно быть применено.

Возвращает


$this

См. также

\Cake\Validation\Validation::isScalar()

setProvider()source public

setProvider( string $name , object|string $object )

Связывает объект с именем, чтобы его можно было использовать в качестве поставщика. Поставщики — это объекты или имена классов, которые могут содержать методы, используемые во время валидации для определения того, можно ли применить правило валидации. Все методы валидации, когда вызываются, получат полный список поставщиков, сохранённых в этом валидаторе.

Параметры

string $name
Имя, под которым должен быть установлен поставщик.
object|string $object
Объект-поставщик или имя класса.

Возвращает


$this

time()source public

time( string $field , string|null $message = null , string|callable|null $when = null )

Добавляет правило валидации формата времени для поля.

Параметры

string $field
Поле, к которому нужно применить правило.
string|null $message optional null
Сообщение об ошибке при неудаче правила.
string|callable|null $when optional 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()

Параметры

string $field
Поле, к которому нужно применить правило.
array $options
Массив параметров.
string|null $message optional null
Сообщение об ошибке при неудаче правила.
string|callable|null $when optional 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.

Параметры

строка $field
Поле, к которому вы хотите применить правило.
строка|null $message необязательно null
Сообщение об ошибке, если правило не выполняется.
строка|вызываемый объект|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.

Это правило будет принимать последовательности UTF8 длиной в 3 и 4 байта, которые необходимы для эмодзи.

Параметры

строка $field
Поле, к которому вы хотите применить правило.
строка|null $message необязательно null
Сообщение об ошибке, если правило не выполняется.
строка|вызываемый объект|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.

Параметры

строка $field
Поле, к которому вы хотите применить правило.
строка|null $message необязательно null
Сообщение об ошибке, если правило не выполняется.
строка|вызываемый объект|null $when необязательно null

Либо 'create', либо 'update', либо вызываемый объект, который возвращает true, когда правило валидации должно быть применено.

Возвращает


$this

См. также

\Cake\Validation\Validation::uuid()

Подробное описание свойств

$_allowEmptyFlagssource

protected массив

Содержит флаги, которые указывают, что пусто для каждого соответствующего поля.

[]

$_allowEmptyMessagessource

protected массив

Содержит сообщения валидации, связанные с проверкой пустоты для каждого соответствующего поля.

[]

$_defaultProviderssource

protected static массив

Ассоциативный массив объектов или классов, используемых в качестве списка поставщиков по умолчанию.

[]

$_fieldssource

protected массив

Содержит массив объектов ValidationSet.

[]

$_presenceMessagessource

protected массив

Содержит сообщения валидации, связанные с проверкой наличия для каждого соответствующего поля.

[]

$_providerssource

protected массив

Ассоциативный массив объектов или классов, содержащих методы, используемые для валидации.

[]

$_useI18nsource

protected булево

Использовать или нет функции I18n для перевода сообщений об ошибках по умолчанию.

false

© 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/3.7/class-Cake.Validation.Validator.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API