Spec-Zone.ru › CakePHP 3.3

Класс Validator

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

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

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

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

  • string

    NESTED
    '_nested'

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

  • $_allowEmptyMessages protected
    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
    Возвращает true, если поле пустое в переданном массиве данных.
  • _processRules() protected

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

  • add() public

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

  • addNested() public
    Добавляет вложенный валидатор.
  • addNestedMany() public
    Добавляет вложенный валидатор.
  • allowEmpty() public

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

  • alphaNumeric() public
    Добавляет правило alphanumeric для поля.
  • ascii() public
    Добавляет правило валидации, чтобы убедиться, что поле содержит только байты ASCII.
  • boolean() public
    Добавляет правило валидации boolean для поля.
  • containsNonAlphaNumeric() public
    Добавляет правило проверки наличия в поле небуквенно-цифровых символов.
  • count() public
    Возвращает количество полей, имеющих правила валидации.
  • creditCard() public
    Добавляет правило валидации номера кредитной карты для поля.
  • date() public
    Добавляет правило валидации формата даты для поля.
  • dateTime() public
    Добавляет правило валидации формата даты и времени для поля.
  • decimal() public
    Добавляет правило валидации десятичного числа для поля.
  • email() public
    Добавляет правило валидации электронного адреса для поля.
  • equals() public
    Добавляет правило сравнения на равенство для поля.
  • errors() public

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

  • field() public

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

  • getIterator() public
    Возвращает итератор для каждого из полей, подлежащих валидации.
  • greaterThan() public
    Добавляет правило сравнения больше, чем для поля.
  • greaterThanOrEqual() public
    Добавляет правило сравнения больше или равно для поля.
  • hasAtLeast() public

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

  • hasAtMost() public

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

  • hasField() public
    Проверяет, содержит ли валидатор какие-либо правила для данного поля.
  • inList() public
    Добавляет правило валидации, чтобы убедиться, что значение поля находится в белом списке.
  • integer() public
    Добавляет правило валидации для обеспечения того, что поле представляет собой целое число.
  • ip() public
    Добавляет правило валидации IP для поля.
  • ipv4() public
    Добавляет правило валидации IPv4 для поля.
  • ipv6() public
    Добавляет правило валидации IPv6 для поля.
  • isArray() public
    Добавляет правило валидации, чтобы убедиться, что поле содержит массив.
  • isEmptyAllowed() public

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

  • isPresenceRequired() public

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

  • latLong() public
    Добавляет правило валидации, чтобы убедиться, что поле является кортежем широты/долготы.
  • latitude() public
    Добавляет правило валидации, чтобы убедиться, что поле является широтой.
  • lengthBetween() public
    Добавляет правило, которое гарантирует, что длина строки находится в определённом диапазоне.
  • lessThan() public
    Добавляет правило сравнения меньше, чем для поля.
  • lessThanOrEqual() public
    Добавляет правило сравнения меньше или равно для поля.
  • localizedTime() public
    Добавляет правило валидации формата локального времени, даты или даты и времени для поля.
  • longitude() public
    Добавляет правило валидации, чтобы убедиться, что поле является долготой.
  • maxLength() public
    Добавляет правило валидации длины строки для поля.
  • maxLengthBytes() public
    Добавляет правило валидации длины строки для поля.
  • minLength() public
    Добавляет правило валидации длины строки для поля.
  • minLengthBytes() public
    Добавляет правило валидации длины строки для поля.
  • multipleOptions() public
    Добавляет правило валидации для множественного выбора. Сравнение по умолчанию чувствительно к регистру.
  • naturalNumber() public
    Добавляет правило валидации натурального числа для поля.
  • nonNegativeInteger() public
    Добавляет правило валидации для проверки, является ли поле неотрицательным целым числом.
  • notBlank() public
    Добавляет правило notBlank для поля.
  • notEmpty() public

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

  • notEquals() public
    Добавляет правило сравнения не равно для поля.
END_OF_DOCUMENT_MARKER
  • numeric() public
    Добавить правило валидации числового значения для поля.
  • offsetExists() public
    Возвращает, определён ли набор правил для поля.
  • offsetGet() public
    Возвращает набор правил для поля.
  • offsetSet() public
    Устанавливает набор правил для поля.
  • offsetUnset() public
    Удаляет набор правил для поля.
  • provider() public

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

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

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

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

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

__construct()source public

__construct( )

Конструктор

__debugInfo()source public

__debugInfo( )

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

Возвращает

массив

_canBeEmpty()source protected

_canBeEmpty( Cake\Validation\ValidationSet $field , array $context )

Возвращает, может ли поле быть пустым в соответствии с allowEmpty

Параметры

Cake\Validation\ValidationSet $field
набор правил для поля
массив $context
список пар ключ-значение данных, содержащих контекст валидации.

Возвращает

булево значение

_checkPresence()source protected

_checkPresence( Cake\Validation\ValidationSet $field , array $context )

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

Параметры

Cake\Validation\ValidationSet $field
Набор правил для поля.
массив $context
Список пар ключ-значение данных, содержащих контекст валидации.

Возвращает

булево значение

_convertValidatorToArray()source protected

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

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

Параметры

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

Возвращает

массив

_fieldIsEmpty()source protected

_fieldIsEmpty( mixed $data )

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

Параметры

смешанный $data
значение для сравнения

Возвращает

булево значение

_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

addNested()source public

addNested( string $field , Cake\Validation\Validator $validator )

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

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

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

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

Параметры

строка $field
Корневое поле для вложенного валидатора.
Cake\Validation\Validator $validator
Вложенный валидатор.

Возвращает


$this

addNestedMany()source public

addNestedMany( string $field , Cake\Validation\Validator $validator )

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

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

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

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

Параметры

строка $field
Корневое поле для вложенного валидатора.
Cake\Validation\Validator $validator
Вложенный валидатор.

Возвращает


$this
END_OF_DOCUMENT_MARKER ```

allowEmpty()source public

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

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

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

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

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

Параметры

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

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

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

Возвращает


$this

alphaNumeric()source public

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

Добавляет правило alphanumeric к полю.

Параметры

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

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

Возвращает


$this

См. также

\Cake\Validation\Validation::alphaNumeric()

ascii()source public

ascii( string $field , string|null $message null , string|callable|null $when null )

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

Параметры

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

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

Возвращает


$this

См. также

\Cake\Validation\Validation::ascii()

boolean()source public

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

Добавляет правило валидации типа boolean к полю.

Параметры

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

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

Возвращает


$this

См. также

\Cake\Validation\Validation::boolean()

containsNonAlphaNumeric()source public

containsNonAlphaNumeric( string $field , integer $limit 1 , string|null $message null , string|callable|null $when null )

Добавляет правило проверки наличия не буквенно-цифровых символов в поле.

Параметры

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

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

Возвращает


$this

См. также

\Cake\Validation\Validation::containsNonAlphaNumeric()

count()source public

count( )

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

Возвращает

целое число

Реализация

Countable::count()

creditCard()source public

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

Добавляет правило валидации номера кредитной карты к полю.

Параметры

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

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

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

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

Возвращает


$this

См. также

\Cake\Validation\Validation::cc()

date()source public

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

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

Параметры

строка $field
Поле, к которому нужно применить правило.
массив $formats необязательно ['ymd']
Список допустимых форматов дат.
строка|null $message необязательно null
Сообщение об ошибке при нарушении правила.
строка|обратный вызов|null $when необязательно null

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

Возвращает


$this

См. также

\Cake\Validation\Validation::date()

dateTime()source public

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

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

Параметры

строка $field
Поле, к которому нужно применить правило.
массив $formats необязательно ['ymd']
Список допустимых форматов дат.
строка|null $message необязательно null
Сообщение об ошибке при нарушении правила.
строка|обратный вызов|null $when необязательно null

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

Возвращает


$this

См. также

\Cake\Validation\Validation::datetime()

decimal()source public

decimal( string $field , integer|null $places null , string|null $message null , string|callable|null $when null )

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

Параметры

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

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

Возвращает


$this

См. также

\Cake\Validation\Validation::decimal()

email()source public

email( string $field , boolean $checkMX false , string|null $message null , string|callable|null $when null )

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

Параметры

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

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

Возвращает


$this

См. также

\Cake\Validation\Validation::email()

equals()source public

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

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

Параметры

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

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

Возвращает


$this

См. также

\Cake\Validation\Validation::comparison()

errors()source public

errors( array $data , boolean $newRecord true )

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

Параметры

массив $data
Данные, которые нужно проверить на ошибки
логическое значение $newRecord необязательно true
Являются ли данные, подлежащие валидации, новыми или обновляемыми.

Возвращает

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

field()source public

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

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

Параметры

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

Возвращает

Cake\Validation\ValidationSet

getIterator()source public

getIterator( )

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

Возвращает

ArrayIterator

Реализация

IteratorAggregate::getIterator()

greaterThan()source public

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

Добавить правило сравнения "больше" к полю.

Параметры

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

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

Возвращает


$this

См. также

\Cake\Validation\Validation::comparison()

greaterThanOrEqual()source public

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

Добавить правило сравнения "больше или равно" к полю.

Параметры

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

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

Возвращает


$this

См. также

\Cake\Validation\Validation::comparison()

hasAtLeast()source public

hasAtLeast( string $field , integer $count , string|null $message null , string|callable|null $when null )

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

Параметры

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

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

Возвращает


$this

См. также

\Cake\Validation\Validation::numElements()

hasField()source public

hasField( string $name )

Проверить, содержит ли валидатор правила для данного поля.

Параметры

строка $name
Имя поля для проверки.

Возвращает

логическое значение

inList()source public

inList( string $field , array $list , string|null $message null , string|callable|null $when null )

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

Параметры

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

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

Возвращает


$this

См. также

\Cake\Validation\Validation::inList()

integer()source public

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

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

Параметры

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

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

Возвращает


$this

См. также

\Cake\Validation\Validation::isInteger()
END_OF_DOCUMENT_MARKER

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

isEmptyAllowed()source public

isEmptyAllowed( string $field , boolean $newRecord )

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

Параметры

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

Возвращает

логическое значение

isPresenceRequired()source public

isPresenceRequired( string $field , boolean $newRecord )

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

Параметры

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

Возвращает

логическое значение

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

lessThanOrEqual()source public

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

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

Параметры

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

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

Возвращает


$this

См. также

\Cake\Validation\Validation::comparison()

localizedTime()source public

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

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

Параметры

строка $field
Поле, к которому нужно применить правило.
строка $type необязательно 'datetime'
Тип парсера, один из 'date', 'time' и 'datetime'
строка|null $message необязательно null
Сообщение об ошибке при нарушении правила.
строка|вызываемый объект|null $when необязательно null

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

Возвращает


$this

См. также

\Cake\Validation\Validation::localizedTime()
END_OF_DOCUMENT_MARKER ```

longitude()source public

longitude( string $field , string|null $message null , string|callable|null $when null )

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

Параметры

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

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

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


$this

См. также

\Cake\Validation\Validation::longitude()

maxLength()source public

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

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

Параметры

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

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

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


$this

См. также

\Cake\Validation\Validation::maxLength()

maxLengthBytes()source public

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

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

Параметры

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

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

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


$this

См. также

\Cake\Validation\Validation::maxLengthBytes()

minLength()source public

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

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

Параметры

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

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

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


$this

См. также

\Cake\Validation\Validation::minLength()

minLengthBytes()source public

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

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

Параметры

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

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

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


$this

См. также

\Cake\Validation\Validation::minLengthBytes()

multipleOptions()source public

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

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

Параметры

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

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

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

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

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


$this

См. также

\Cake\Validation\Validation::multiple()

naturalNumber()source public

naturalNumber( string $field , string|null $message null , string|callable|null $when null )

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

Параметры

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

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

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


$this

См. также

\Cake\Validation\Validation::naturalNumber()

nonNegativeInteger()source public

nonNegativeInteger( string $field , string|null $message null , string|callable|null $when null )

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

Параметры

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

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

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


$this

См. также

\Cake\Validation\Validation::naturalNumber()

notBlank()source public

notBlank( string $field , string|null $message null , string|callable|null $when null )

Добавить правило notBlank к полю.

Параметры

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

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

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


$this

См. также

\Cake\Validation\Validation::notBlank()

notEmpty()source public

notEmpty( string|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() изменяют одно и то же внутреннее состояние, последний вызванный метод будет иметь приоритет.

Параметры

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

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

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


$this
END_OF_DOCUMENT_MARKER

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

Значение «создание» или «обновление» или вызов, возвращающий true, когда правило проверки должно быть применено.

Возвращает


$this

См. также

\Cake\Validation\Validation::comparison()

numeric()source public

numeric( string $field , string|null $message null , string|callable|null $when null )

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

Параметры

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

Значение «создание» или «обновление» или вызов, возвращающий true, когда правило проверки должно быть применено.

Возвращает


$this

См. также

\Cake\Validation\Validation::numeric()

offsetExists()source public

offsetExists( string $field )

Возвращает, определено ли правило набора для поля или нет

Параметры

строка $field
имя поля для проверки

Возвращает

boolean

Реализация

ArrayAccess::offsetExists()

offsetGet()source public

offsetGet( string $field )

Возвращает набор правил для поля

Параметры

строка $field
имя поля для проверки

Возвращает

Cake\Validation\ValidationSet

Реализация

ArrayAccess::offsetGet()

offsetSet()source public

offsetSet( string $field , array|Cake\Validation\ValidationSet $rules )

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

Параметры

строка $field
имя поля для установки
массив|Cake\Validation\ValidationSet $rules
набор правил, которые нужно применить к полю

Реализация

ArrayAccess::offsetSet()

offsetUnset()source public

offsetUnset( string $field )

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

Параметры

строка $field
имя поля для удаления

Реализация

ArrayAccess::offsetUnset()

provider()source public

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

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

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

Параметры

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

Возвращает


$this|объект|строка|null

providers()source public

providers( )

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

Возвращает

массив

range()source public

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

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

Параметры

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

Значение «создание» или «обновление» или вызов, возвращающий true, когда правило проверки должно быть применено.

Возвращает


$this

См. также

\Cake\Validation\Validation::range()

remove()source public

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

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

Пример:

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

Параметры

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

Возвращает


$this

requirePresence()source public

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

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

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

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

Параметры

строка|массив $field
имя поля или список полей.
boolean|строка|вызов $mode необязательно true

Допустимые значения — true, false, «создание», «обновление». Если передается вызов, поле будет необходимо только тогда, когда обратный вызов вернет true.

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

Возвращает


$this

sameAs()source public

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

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

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

Параметры

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

Значение «создание» или «обновление» или вызов, возвращающий true, когда правило проверки должно быть применено.

Возвращает


$this

См. также

\Cake\Validation\Validation::compareWith()

time()source public

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

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

Параметры

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

Значение «создание» или «обновление» или вызов, возвращающий true, когда правило проверки должно быть применено.

Возвращает


$this

См. также

\Cake\Validation\Validation::time()
END_OF_DOCUMENT_MARKER

uploadedFile()source public

uploadedFile( string $field , array $options , string|null $message null , string|callable|null $when null )

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

Для параметров см. Cake\Validation\Validation::uploadedFile()

Параметры

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

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

Возвращает


$this

См. также

\Cake\Validation\Validation::uploadedFile()

url()source public

url( string $field , string|null $message null , string|callable|null $when null )

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

Этот валидатор не требует протокола.

Параметры

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

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

Возвращает


$this

См. также

\Cake\Validation\Validation::url()

urlWithProtocol()source public

urlWithProtocol( string $field , string|null $message null , string|callable|null $when null )

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

Этот валидатор требует, чтобы URL содержал протокол.

Параметры

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

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

Возвращает


$this

См. также

\Cake\Validation\Validation::url()

utf8()source public

utf8( string $field , string|null $message null , string|callable|null $when null )

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

Параметры

строка $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()

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

$_allowEmptyMessagessource

protected массив

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

[]

$_fieldssource

protected массив

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

[]

$_presenceMessagessource

protected массив

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

[]

$_providerssource

protected массив

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

[]

$_useI18nsource

protected логическое значение

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

false

© 2005–2017 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.3/class-Cake.Validation.Validator.html

Spec-Zone.ru

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