Spec-Zone.ru › CakePHP 3.6

Класс RulesChecker

Проверка правил с поддержкой ORM.

Добавляет функции, связанные с ORM, в класс RulesChecker.

Cake\Datasource\RulesChecker
Extended by Cake\ORM\RulesChecker
Пространство имён: Cake\ORM
См.: Cake\Datasource\RulesChecker
Расположение: ORM/RulesChecker.php

Наследуемые константы

  • CREATE, DELETE, UPDATE

Наследуемые свойства

  • _createRules, _deleteRules, _options, _rules, _updateRules, _useI18n

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

  • existsIn() public

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

  • isUnique() public

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

  • validCount() public
    Проверяет количество связанных записей.

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

existsIn()source public

existsIn( string|array $field , object|string $table , string|array|null $message = null )

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

Это полезно для обеспечения проверки целостности внешних ключей.

Пример:

$rules->add($rules->existsIn('author_id', 'Authors', 'Invalid Author'));

$rules->add($rules->existsIn('site_id', new SitesTable(), 'Invalid Site'));

Доступные параметры: сообщение об ошибке 'message' и флаг 'allowNullableNulls'. 'message' задаёт сообщение об ошибке. Установите 'allowNullableNulls' в true, чтобы принять составные внешние ключи, где один или несколько столбцов с возможностью NULL являются NULL.

Параметры

строка|массив $field

Поле или список полей для проверки существования по первичному ключу в другой таблице.

объект|строка $table
Имя таблицы, в которой будет проверяться существование полей.
строка|массив|null $message необязательно null

Сообщение об ошибке, отображаемое в случае, если правило не выполняется. Также может быть массивом опций. Если массив, ключ 'message' может использоваться для предоставления сообщения.

Возвращает

вызываемый объект

isUnique()source public

isUnique( array $fields , string|array|null $message = null )

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

Пример:

$rules->add($rules->isUnique(['email'], 'The email should be unique'));

Параметры

массив $fields
Список полей для проверки уникальности.
строка|массив|null $message необязательно null

Сообщение об ошибке, отображаемое в случае, если правило не выполняется. Также может быть массивом опций. Если массив, ключ 'message' может использоваться для предоставления сообщения.

Возвращает

вызываемый объект

validCount()source public

validCount( string $field , integer $count = 0 , string $operator = '>' , string|null $message = null )

Проверяет количество связанных записей.

Параметры

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

Возвращает

вызываемый объект

Методы, унаследованные от Cake\Datasource\RulesChecker

__construct()source public

__construct( array $options = [] )

Конструктор. Принимает параметры, которые должны быть переданы всем правилам.

Параметры

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

_addError()source protected

_addError( callable $rule , string $name , array $options )

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

Параметры

вызываемый объект $rule
Правило для декорации
строка $name
Псевдоним правила.
массив $options
Параметры, содержащие сообщение об ошибке и поле.

Возвращает

вызываемый объект

_checkRules()source protected

_checkRules( Cake\Datasource\EntityInterface $entity , array $options = [] , array $rules = [] )

Используется функциями верхнего уровня checkDelete, checkCreate и checkUpdate. Эта функция итерирует массив, содержащий правила для проверки, и проверяет их все.

Параметры

Cake\Datasource\EntityInterface $entity
Сущность для проверки на валидность.
массив $options необязательно []
Дополнительные параметры для передачи функциям проверки.
массив $rules необязательно []
Список правил, которые необходимо проверить.

Возвращает

boolean

add()source public

add( callable $rule , string|null $name = null , array $options = [] )

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

Опции

Массив опций принимает следующие специальные ключи:

  • errorField: Имя поля сущности, которое будет помечено как недействительное, если правило не выполняется.
  • message: Сообщение об ошибке, которое будет установлено в errorField если правило не выполняется.

Параметры

вызываемый объект $rule

Вызываемая функция или объект, возвращающие, является ли сущность валидной.

строка|null $name необязательно null
Псевдоним правила.
массив $options необязательно []

Список дополнительных параметров для передачи вызываемому объекту правила в качестве второго аргумента.

Возвращает


$this

addCreate()source public

addCreate( callable $rule , string|null $name = null , array $options = [] )

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

Опции

Массив опций принимает следующие специальные ключи:

  • errorField: Имя поля сущности, которое будет помечено как недействительное, если правило не выполняется.
  • message: Сообщение об ошибке, которое будет установлено в errorField если правило не выполняется.

Параметры

вызываемый объект $rule

Вызываемая функция или объект, возвращающие, является ли сущность валидной.

строка|null $name необязательно null
Псевдоним правила.
массив $options необязательно []

Список дополнительных параметров для передачи вызываемому объекту правила в качестве второго аргумента.

Возвращает


$this

addDelete()source public

addDelete( callable $rule , string|null $name = null , array $options = [] )

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

Опции

Массив опций принимает следующие специальные ключи:

  • errorField: Имя поля сущности, которое будет помечено как недействительное, если правило не выполняется.
  • message: Сообщение об ошибке, которое будет установлено в errorField если правило не выполняется.

Параметры

вызываемый объект $rule

Вызываемая функция или объект, возвращающие, является ли сущность валидной.

строка|null $name необязательно null
Псевдоним правила.
массив $options необязательно []

Список дополнительных параметров для передачи вызываемому объекту правила в качестве второго аргумента.

Возвращает


$this
END_OF_DOCUMENT_MARKER

addUpdate()source public

addUpdate( callable $rule , string|null $name = null , array $options = [] )

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

Параметры

Массив параметров может содержать следующие специальные ключи:

  • errorField: Имя поля сущности, которое будет помечено как некорректное, если правило не выполняется.
  • message: Сообщение об ошибке, которое будет установлено для errorField , если правило не выполняется.

Параметры

callable $rule

Функция или объект, который вернёт значение, указывающее, является ли сущность корректной.

string|null $name необязательный null
Псевдоним для правила.
array $options необязательный []

Список дополнительных параметров, которые будут переданы функции-правилу в качестве второго аргумента.

Возвращает


$this

check()source public

check( Cake\Datasource\EntityInterface $entity , string $mode , array $options = [] )

Выполняет каждое из правил, передавая предоставленную сущность и возвращает true, если все они выполнены. Правила, которые будут применены, зависят от параметра $mode, который может быть только RulesChecker::CREATE, RulesChecker::UPDATE или RulesChecker::DELETE

Параметры

Cake\Datasource\EntityInterface $entity
Сущность, которая проверяется на корректность.
string $mode
Значение 'create', 'update' или 'delete'.
array $options необязательный []
Дополнительные параметры для передачи функциям-проверяющим.

Возвращает

boolean

Возможные исключения

InvalidArgumentException
если передан недопустимый режим.

checkCreate()source public

checkCreate( Cake\Datasource\EntityInterface $entity , array $options = [] )

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

Параметры

Cake\Datasource\EntityInterface $entity
Сущность, которая проверяется на корректность.
array $options необязательный []
Дополнительные параметры для передачи функциям-проверяющим.

Возвращает

boolean

checkDelete()source public

checkDelete( Cake\Datasource\EntityInterface $entity , array $options = [] )

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

Параметры

Cake\Datasource\EntityInterface $entity
Сущность, которая проверяется на корректность.
array $options необязательный []
Дополнительные параметры для передачи функциям-проверяющим.

Возвращает

boolean

checkUpdate()source public

checkUpdate( Cake\Datasource\EntityInterface $entity , array $options = [] )

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

Параметры

Cake\Datasource\EntityInterface $entity
Сущность, которая проверяется на корректность.
array $options необязательный []
Дополнительные параметры для передачи функциям-проверяющим.

Возвращает

boolean

© 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.6/class-Cake.ORM.RulesChecker.html

Spec-Zone.ru

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