Spec-Zone.ru › CakePHP 3.1

Класс 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

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

__constructsource public

__construct( )

Конструктор

__debugInfosource public

__debugInfo( )

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

Возвращает

array
массив

_canBeEmptysource protected

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

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

Параметры

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

Возвращает

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

_checkPresencesource protected

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

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

Параметры

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

Возвращает

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

_fieldIsEmptysource protected

_fieldIsEmpty( mixed $data )

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

Параметры

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

Возвращает

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

_processRulessource protected

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

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

Параметры

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

Возвращает

array
массив

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

Возвращает

mixed
$this

addNestedsource public

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

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

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

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

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

Параметры

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

Возвращает

mixed
$this

addNestedManysource public

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

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

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

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

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

Параметры

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

Возвращает

mixed
$this

allowEmptysource public

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

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

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

Пример:

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

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

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

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

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

Параметры

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

Возвращает

mixed
$this

countsource public

count( )

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

Возвращает

integer
целое число

Реализация

Countable::count()

errorssource public

errors( array $data , boolean $newRecord true )

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

Параметры

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

Возвращает

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

fieldsource public

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

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

Параметры

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

Возвращает

Cake\Validation\ValidationSet
\Cake\Validation\ValidationSet
END_OF_DOCUMENT_MARKER

getIteratorsource public

getIterator( )

Возвращает итератор для каждого поля, подлежащего валидации

Возвращает

ArrayIterator
\ArrayIterator

Реализация

IteratorAggregate::getIterator()

hasFieldsource public

hasField( string $name )

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

Параметры

string $name
Имя поля для проверки.

Возвращает

boolean
bool

isEmptyAllowedsource public

isEmptyAllowed( string $field , boolean $newRecord )

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

Параметры

string $field
Имя поля.
boolean $newRecord
является ли данные для проверки новыми или подлежащими обновлению.

Возвращает

boolean
bool

isPresenceRequiredsource public

isPresenceRequired( string $field , boolean $newRecord )

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

Параметры

string $field
Имя поля.
boolean $newRecord
Являются ли данные для проверки новыми или подлежащими обновлению.

Возвращает

boolean
bool

notEmptysource public

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

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

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

Пример:

$message = 'This field cannot be empty';
$validator->notEmpty('email'); // Email cannot be empty
$validator->notEmpty('email', $message, 'create'); // Email can be empty on update
$validator->notEmpty('email', $message, 'update'); // Email can be empty on create

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

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

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

Параметры

string $field
имя поля
string $message необязательно null
Сообщение для отображения, если поле не
boolean|string|callable $when необязательно false
Указывает, когда поле не должно быть пустым. Допустимые значения: true (всегда), 'create', 'update'. Если передается обратный вызов, поле будет разрешено быть пустым только в том случае, если обратный вызов возвращает false.

Возвращает

mixed
$this

offsetExistssource public

offsetExists( string $field )

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

Параметры

string $field
имя поля для проверки

Возвращает

boolean
bool

Реализация

ArrayAccess::offsetExists()

offsetGetsource public

offsetGet( string $field )

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

Параметры

string $field
имя поля для проверки

Возвращает

Cake\Validation\ValidationSet
\Cake\Validation\ValidationSet

Реализация

ArrayAccess::offsetGet()

offsetSetsource public

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

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

Параметры

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

Реализация

ArrayAccess::offsetSet()

offsetUnsetsource public

offsetUnset( string $field )

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

Параметры

string $field
имя поля для удаления

Реализация

ArrayAccess::offsetUnset()

providersource public

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

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

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

Параметры

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

Возвращает

mixed
$this|object|string|null

providerssource public

providers( )

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

Возвращает

array
array

removesource public

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

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

Пример:

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

Параметры

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

Возвращает

mixed
$this

requirePresencesource public

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

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

Параметры

string $field
имя поля
boolean|string|callable $mode необязательно true
Допустимые значения: true, false, 'create', 'update'. Если передается обратный вызов, поле будет обязательным только когда обратный вызов возвращает true.
string|null $message необязательно null
Сообщение для отображения, если валидация присутствия поля завершается неудачно.

Возвращает

mixed
$this

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

string NESTED

Используется для флагования вложенных правил, созданных с помощью addNested() и addNestedMany()

'_nested'

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

$_allowEmptyMessagessource

protected array

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

[]

$_fieldssource

protected array

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

[]

$_presenceMessagessource

protected array

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

[]

$_providerssource

protected array

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

[]

$_useI18nsource

protected boolean

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

false

© 2005–2016 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
http://api.cakephp.org/3.1/class-Cake.Validation.Validator.html

Spec-Zone.ru

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