Класс RulesChecker
Проверяющий правила с поддержкой ORM.
Добавляет функции, связанные с ORM, в класс RulesChecker.
- Cake\Datasource\RulesChecker
-
Cake\ORM\RulesChecker
Унаследованные константы
Унаследованные свойства
Краткое описание методов
- 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')); Доступные $options — это сообщение 'message' и флаг 'allowNullableNulls'. 'message' задаёт пользовательское сообщение об ошибке. Установите 'allowNullableNulls' в значение true, чтобы принять составные внешние ключи, где один или несколько столбцов с nullable значением равны null.
Параметры
- string|array
$field Поле или список полей для проверки существования по первичному ключу в другой таблице.
- object|string
$table - Имя таблицы, в которой будут проверяться поля.
- string|array|null
$messageнеобязательно null Сообщение об ошибке, которое будет отображаться, если правило не выполняется. Также может быть массивом опций. Если массив, ключ 'message' может быть использован для предоставления сообщения.
Возвращаемое значение
callableisUnique()source public
isUnique( array $fields , string|array|null $message = null )
Возвращает вызываемый объект, который можно использовать в качестве правила для проверки уникальности значения в таблице.
Пример:
$rules->add($rules->isUnique(['email'], 'The email should be unique'));
Параметры
- array
$fields - Список полей для проверки уникальности.
- string|array|null
$messageнеобязательно null Сообщение об ошибке, которое будет отображаться, если правило не выполняется. Также может быть массивом опций. Если массив, ключ 'message' может быть использован для предоставления сообщения.
Возвращаемое значение
callablevalidCount()source public
validCount( string $field , integer $count = 0 , string $operator = '>' , string|null $message = null )
Проверяет количество связанных записей.
Параметры
- string
$field - Поле, на котором будет проверяться счёт.
- integer
$countнеобязательно 0 - Ожидаемое количество.
- string
$operatorнеобязательно '>' - Оператор для сравнения счётчика.
- string|null
$messageнеобязательно null - Сообщение об ошибке, которое будет отображаться, если правило не выполняется.
Возвращаемое значение
callableНаследуемые методы из Cake\Datasource\RulesChecker
__construct()source public
__construct( array $options = [] )
Конструктор. Принимает опции, которые будут переданы всем правилам.
Параметры
- array
$optionsнеобязательно [] - Опции, передаваемые каждому правилу
_addError()source protected
_addError( callable $rule , string $name , array $options )
Утилитарный метод для декорирования любого вызываемого объекта, так что если он возвращает false, соответствующее свойство в сущности отмечается как некорректное.
Параметры
- callable
$rule - Правило для декорирования
- string
$name - Псевдоним правила.
- array
$options - Опции, содержащие сообщение об ошибке и поле.
Возвращаемое значение
callable_checkRules()source protected
_checkRules( Cake\Datasource\EntityInterface $entity , array $options = [] , array $rules = [] )
Используется функциями верхнего уровня checkDelete, checkCreate и checkUpdate. Эта функция перебирает массив, содержащий правила, которые необходимо проверить, и проверяет их все.
Параметры
-
Cake\Datasource\EntityInterface$entity - Сущность для проверки на корректность.
- array
$optionsнеобязательно [] - Дополнительные опции для передачи функциям проверки.
- array
$rulesнеобязательно [] - Список правил, которые необходимо проверить.
Возвращаемое значение
booleanadd()source public
add( callable $rule , string|null $name = null , array $options = [] )
Добавляет правило, которое будет применяться к сущности при операциях создания и обновления.
Опции
Массив опций принимает следующие специальные ключи:
-
errorField: Имя поля сущности, которое будет помечено как некорректное, если правило не выполнится. -
message: Сообщение об ошибке, которое будет установлено вerrorField, если правило не выполнится.
Параметры
- callable
$rule Вызываемый объект или функция, которая вернёт, является ли сущность корректной.
- string|null
$nameнеобязательно null - Псевдоним правила.
- array
$optionsнеобязательно [] Список дополнительных опций, которые будут переданы в вызываемый объект правила в качестве второго аргумента.
Возвращаемое значение
$this
addCreate()source public
addCreate( callable $rule , string|null $name = null , array $options = [] )
Добавляет правило, которое будет применяться к сущности при операциях создания.
Опции
Массив опций принимает следующие специальные ключи:
-
errorField: Имя поля сущности, которое будет помечено как некорректное, если правило не выполнится. -
message: Сообщение об ошибке, которое будет установлено вerrorField, если правило не выполнится.
Параметры
- callable
$rule Вызываемый объект или функция, которая вернёт, является ли сущность корректной.
- string|null
$nameнеобязательно null - Псевдоним правила.
- array
$optionsнеобязательно [] Список дополнительных опций, которые будут переданы в вызываемый объект правила в качестве второго аргумента.
Возвращаемое значение
$this
addDelete()source public
addDelete( callable $rule , string|null $name = null , array $options = [] )
Добавляет правило, которое будет применяться к сущности при операциях удаления.
Опции
Массив опций принимает следующие специальные ключи:
-
errorField: Имя поля сущности, которое будет помечено как некорректное, если правило не выполнится. -
message: Сообщение об ошибке, которое будет установлено вerrorField, если правило не выполнится.
Параметры
- callable
$rule Вызываемый объект или функция, которая вернёт, является ли сущность корректной.
- string|null
$nameнеобязательно null - Псевдоним правила.
- array
$optionsнеобязательно [] Список дополнительных опций, которые будут переданы в вызываемый объект правила в качестве второго аргумента.
Возвращаемое значение
$this
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необязательно [] - Дополнительные параметры для передачи функциям проверки.
Возвращает
booleancheckDelete()source public
checkDelete( Cake\Datasource\EntityInterface $entity , array $options = [] )
Выполняет каждое из правил, передавая предоставленную сущность и возвращает true, если все они выполняются. Выбираются только правила, заданные для выполнения при 'удалении'.
Параметры
-
Cake\Datasource\EntityInterface$entity - Сущность, проверяемая на валидность.
- array
$optionsнеобязательно [] - Дополнительные параметры для передачи функциям проверки.
Возвращает
booleancheckUpdate()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.8/class-Cake.ORM.RulesChecker.html