Spec-Zone.ru › CakePHP 3.5

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

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

Параметры

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

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

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

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

Возвращает

callable

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

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

Возвращает

callable

validCount()source public

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

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

Параметры

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

Возвращает

callable

Наследуемые методы из Cake\Datasource\RulesChecker

__construct()source public

__construct( array $options [] )

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

Параметры

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

_addError()source protected

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

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

Параметры

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

Возвращает

callable

_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–2018 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.5/class-Cake.ORM.RulesChecker.html

Spec-Zone.ru

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