Класс RulesChecker
Проверяющий правила с ORM.
Добавляет возможности ORM к классу RulesChecker.
Константы
-
stringCREATE'create'
Указывает, что правила проверки должны применяться для создания сущностей.
-
stringDELETE'delete'
Указывает, что правила проверки должны применяться для удаления сущностей.
-
stringUPDATE'update'
Указывает, что правила проверки должны применяться для обновления сущностей.
Краткое описание свойств
- $_createRules protected
arrayCake\Datasource\RuleInvoker>Список правил для проверки при операциях создания
- $_deleteRules protected
arrayCake\Datasource\RuleInvoker>Список правил для проверки при операциях удаления
- $_options protected
arrayСписок параметров для передачи каждому вызываемому правилу
- $_rules protected
arrayCake\Datasource\RuleInvoker>Список правил, которые проверяются при операциях создания и обновления
- $_updateRules protected
arrayCake\Datasource\RuleInvoker>Список правил для проверки при операциях обновления
- $_useI18n protected
boolИспользовать ли функции I18n для перевода стандартных сообщений об ошибках
Краткое описание методов
-
__construct() public
Конструктор. Принимает параметры, которые будут переданы всем правилам.
-
_addError() protected
Вспомогательный метод для обработки любого вызываемого объекта, чтобы, если он возвращает false, соответствующее свойство в сущности отмечалось как невалидное.
-
_addLinkConstraintRule() protected
Добавляет правило ограничения связи.
-
_checkRules() protected
Используется функциями верхнего уровня checkDelete, checkCreate и checkUpdate. Эта функция перебирает массив, содержащий правила для проверки, и проверяет их все.
-
add() public
Добавляет правило, которое будет применено к сущности при операциях создания и обновления.
-
addCreate() public
Добавляет правило, которое будет применено к сущности при операциях создания.
-
addDelete() public
Добавляет правило, которое будет применено к сущности при операциях удаления.
-
addUpdate() public
Добавляет правило, которое будет применено к сущности при операциях обновления.
-
check() public
Выполняет каждое из правил, передавая предоставленную сущность, и возвращает true, если все они пройдены. Правила, которые должны быть применены, зависят от параметра $mode, который может быть только RulesChecker::CREATE, RulesChecker::UPDATE или RulesChecker::DELETE.
-
checkCreate() public
Выполняет каждое из правил, передавая предоставленную сущность, и возвращает true, если все они пройдены. Выбранные правила будут только те, которые указаны для запуска при 'создании'.
-
checkDelete() public
Выполняет каждое из правил, передавая предоставленную сущность, и возвращает true, если все они пройдены. Выбранные правила будут только те, которые указаны для запуска при 'удалении'.
-
checkUpdate() public
Выполняет каждое из правил, передавая предоставленную сущность, и возвращает true, если все они пройдены. Выбранные правила будут только те, которые указаны для запуска при 'обновлении'.
-
existsIn() public
Возвращает вызываемый объект, который можно использовать в качестве правила для проверки, существуют ли значения, извлеченные из сущности для проверки, в качестве первичного ключа в другой таблице.
-
isLinkedTo() public
Проверяет, существуют ли ссылки на заданную ассоциацию.
-
isNotLinkedTo() public
Проверяет, не существуют ли ссылки на заданную ассоциацию.
-
isUnique() public
Возвращает вызываемый объект, который можно использовать в качестве правила для проверки уникальности значения в таблице.
-
validCount() public
Проверяет количество связанных записей.
Краткое описание методов
__construct() public
__construct(array<string, mixed> $options = [])
Конструктор. Принимает параметры, которые будут переданы всем правилам.
Parameters
-
array<string, mixed>$options optional Параметры для передачи каждому правилу
_addError() protected
_addError(callableCake\Datasource\RuleInvoker $rule, array|string|null $name = null, array<string, mixed> $options = []): Cake\Datasource\RuleInvoker
Вспомогательный метод для декорирования любого вызываемого объекта, так что если он возвращает false, соответствующее свойство в сущности помечается как недействительное.
Parameters
-
callableCake\Datasource\RuleInvoker$rule Правило для декорирования
-
array|string|null$name optional Псевдоним для правила или массив параметров
-
array<string, mixed>$options optional Параметры, содержащие сообщение об ошибке и поле.
Returns
Cake\Datasource\RuleInvoker_addLinkConstraintRule() protected
_addLinkConstraintRule(Cake\ORM\Association|string $association, string|null $errorField, string|null $message, string $linkStatus, string $ruleName): Cake\Datasource\RuleInvoker
Добавляет правило ограничения связи.
Parameters
-
Cake\ORM\Association|string$association Ассоциация для проверки ссылок.
-
string|null$errorField Имя свойства, используемого для установки возможных ошибок. Если отсутствует, имя выводится из
$association.-
string|null$message Сообщение об ошибке, которое будет показано, если правило не пройдено.
-
string$linkStatus Требуемый статус ссылки для прохождения проверки.
-
string$ruleName Псевдоним/имя правила.
Returns
Cake\Datasource\RuleInvokerThrows
InvalidArgumentExceptionВ случае, если аргумент `$association` имеет недопустимый тип.
See Also
\Cake\ORM\RulesChecker::isNotLinkedTo()
\Cake\ORM\Rule\LinkConstraint::STATUS_LINKED
\Cake\ORM\Rule\LinkConstraint::STATUS_NOT_LINKED
_checkRules() protected
_checkRules(Cake\Datasource\EntityInterface $entity, array<string, mixed> $options = [], arrayCake\Datasource\RuleInvoker> $rules = []): bool
Используется функциями верхнего уровня checkDelete, checkCreate и checkUpdate, эта функция перебирает массив, содержащий правила для проверки, и проверяет их все.
Parameters
-
Cake\Datasource\EntityInterface$entity Сущность для проверки на валидность.
-
array<string, mixed>$options optional Дополнительные параметры для передачи функциям проверки.
-
arrayCake\Datasource\RuleInvoker>$rules optional Список правил, которые должны быть проверены.
Returns
booladd() public
add(callable $rule, array|string|null $name = null, array<string, mixed> $options = []): $this
Добавляет правило, которое будет применено к сущности как при операциях создания, так и обновления.
Options
Массив параметров принимает следующие специальные ключи:
-
errorField: Имя поля сущности, которое будет помечено как недействительное, если правило не пройдено. -
message: Сообщение об ошибке для установки вerrorFieldесли правило не пройдено.
Parameters
-
callable$rule Вызываемая функция или объект, которые вернут, является ли сущность валидной или нет.
-
array|string|null$name optional Псевдоним для правила или массив параметров.
-
array<string, mixed>$options optional Список дополнительных параметров для передачи вызываемой функции правила во втором аргументе.
Returns
$thisaddCreate() public
addCreate(callable $rule, array|string|null $name = null, array<string, mixed> $options = []): $this
Добавляет правило, которое будет применено к сущности при операциях создания.
Options
Массив параметров принимает следующие специальные ключи:
-
errorField: Имя поля сущности, которое будет помечено как недействительное, если правило не пройдено. -
message: Сообщение об ошибке для установки вerrorFieldесли правило не пройдено.
Parameters
-
callable$rule Вызываемая функция или объект, которые вернут, является ли сущность валидной или нет.
-
array|string|null$name optional Псевдоним для правила или массив параметров.
-
array<string, mixed>$options optional Список дополнительных параметров для передачи вызываемой функции правила во втором аргументе.
Returns
$thisaddDelete() public
addDelete(callable $rule, array|string|null $name = null, array<string, mixed> $options = []): $this
Добавляет правило, которое будет применено к сущности при операциях удаления.
Options
Массив параметров принимает следующие специальные ключи:
-
errorField: Имя поля сущности, которое будет помечено как недействительное, если правило не пройдено. -
message: Сообщение об ошибке для установки вerrorFieldесли правило не пройдено.
Parameters
-
callable$rule Вызываемая функция или объект, которые вернут, является ли сущность валидной или нет.
-
array|string|null$name optional Псевдоним для правила или массив параметров.
-
array<string, mixed>$options optional Список дополнительных параметров для передачи вызываемой функции правила во втором аргументе.
Returns
$thisaddUpdate() public
addUpdate(callable $rule, array|string|null $name = null, array<string, mixed> $options = []): $this
Добавляет правило, которое будет применено к сущности при операциях обновления.
Options
Массив параметров принимает следующие специальные ключи:
-
errorField: Имя поля сущности, которое будет помечено как недействительное, если правило не пройдено. -
message: Сообщение об ошибке для установки вerrorFieldесли правило не пройдено.
Parameters
-
callable$rule Вызываемая функция или объект, которые вернут, является ли сущность валидной или нет.
-
array|string|null$name optional Псевдоним для правила или массив параметров.
-
array<string, mixed>$options optional Список дополнительных параметров для передачи вызываемой функции правила во втором аргументе.
Returns
$thischeck() public
check(Cake\Datasource\EntityInterface $entity, string $mode, array<string, mixed> $options = []): bool
Запускает каждое из правил, передавая предоставленную сущность, и возвращает true, если все они пройдены. Правила, которые будут применены, зависят от параметра $mode, который может быть только RulesChecker::CREATE, RulesChecker::UPDATE или RulesChecker::DELETE
Parameters
-
Cake\Datasource\EntityInterface$entity Сущность для проверки на валидность.
-
string$mode Либо 'create', 'update' или 'delete'.
-
array<string, mixed>$options optional Дополнительные параметры для передачи функциям проверки.
Returns
boolThrows
InvalidArgumentExceptionесли передан недопустимый режим.
checkCreate() public
checkCreate(Cake\Datasource\EntityInterface $entity, array<string, mixed> $options = []): bool
Запускает каждое из правил, передавая предоставленную сущность, и возвращает true, если все они пройдены. Выбранные правила будут только те, которые указаны для запуска на 'create'
Parameters
-
Cake\Datasource\EntityInterface$entity Сущность для проверки на валидность.
-
array<string, mixed>$options optional Дополнительные параметры для передачи функциям проверки.
Returns
boolcheckDelete() public
checkDelete(Cake\Datasource\EntityInterface $entity, array<string, mixed> $options = []): bool
Запускает каждое из правил, передавая предоставленную сущность, и возвращает true, если все они пройдены. Выбранные правила будут только те, которые указаны для запуска на 'delete'
Parameters
-
Cake\Datasource\EntityInterface$entity Сущность для проверки на валидность.
-
array<string, mixed>$options optional Дополнительные параметры для передачи функциям проверки.
Returns
boolcheckUpdate() public
checkUpdate(Cake\Datasource\EntityInterface $entity, array<string, mixed> $options = []): bool
Выполняет каждое из правил, передавая предоставленную сущность и возвращает true, если все они пройдут. Выбранные правила будут только те, которые указано запускать при 'update'
Параметры
-
Cake\Datasource\EntityInterface$entity Сущность для проверки на валидность.
-
array<string, mixed>$options optional Дополнительные параметры для передачи функциям проверки.
Возвращает
boolexistsIn() public
existsIn(array<string>|string $field, Cake\ORM\TableCake\ORM\Association|string $table, array<string, mixed>|string|null $message = null): Cake\Datasource\RuleInvoker
Возвращает вызываемую функцию, которая может быть использована в качестве правила для проверки, существуют ли значения, извлечённые из сущности, в качестве первичного ключа в другой таблице.
Это полезно для обеспечения целостности проверок внешних ключей.
Пример:
$rules->add($rules->existsIn('author_id', 'Authors', 'Invalid Author'));
$rules->add($rules->existsIn('site_id', new SitesTable(), 'Invalid Site')); Доступные параметры — ошибка 'message' и флаг 'allowNullableNulls'. 'message' устанавливает пользовательское сообщение об ошибке. Установите 'allowNullableNulls' в true, чтобы принять составные внешние ключи, где один или несколько столбцов с nullable имеют значение null.
Параметры
-
array<string>|string$field Поле или список полей для проверки существования по первичному ключу в другой таблице.
-
Cake\ORM\TableCake\ORM\Association|string$table Имя таблицы, в которой будет проверяться существование полей.
-
array<string, mixed>|string|null$message optional Сообщение об ошибке, которое будет показано, если правило не выполнится. Может также быть массивом параметров. В случае массива, ключ 'message' может быть использован для предоставления сообщения.
Возвращает
Cake\Datasource\RuleInvokerisLinkedTo() public
isLinkedTo(Cake\ORM\Association|string $association, string|null $field = null, string|null $message = null): Cake\Datasource\RuleInvoker
Проверяет, существуют ли ссылки на данную ассоциацию.
Пример:
$rules->addUpdate($rules->isLinkedTo('Articles', 'article')); В таблице Comments, которая имеет ассоциацию belongsTo Articles, эта проверка гарантирует, что комментарии могут быть изменены только при условии, что они связаны с существующей статьей.
Параметры
-
Cake\ORM\Association|string$association Ассоциация для проверки ссылок.
-
string|null$field optional Имя свойства ассоциации. Если указано, это имя используется для установки возможных ошибок. В противном случае, имя выводится из
$association.-
string|null$message optional Сообщение об ошибке, которое отображается, если правило не выполнено.
Возвращает
Cake\Datasource\RuleInvokerisNotLinkedTo() public
isNotLinkedTo(Cake\ORM\Association|string $association, string|null $field = null, string|null $message = null): Cake\Datasource\RuleInvoker
Проверяет, отсутствуют ли ссылки на данную ассоциацию.
Пример:
$rules->addDelete($rules->isNotLinkedTo('Comments', 'comments')); В таблице Articles, которая имеет ассоциацию hasMany Comments, эта проверка гарантирует, что статьи могут быть удалены только при отсутствии связанных комментариев.
Параметры
-
Cake\ORM\Association|string$association Ассоциация для проверки ссылок.
-
string|null$field optional Имя свойства ассоциации. Если указано, это имя используется для установки возможных ошибок. В противном случае, имя выводится из
$association.-
string|null$message optional Сообщение об ошибке, которое отображается, если правило не выполнено.
Возвращает
Cake\Datasource\RuleInvokerisUnique() public
isUnique(array<string> $fields, array<string, mixed>|string|null $message = null): Cake\Datasource\RuleInvoker
Возвращает вызываемую функцию, которая может быть использована в качестве правила для проверки уникальности значения в таблице.
Пример
$rules->add($rules->isUnique(['email'], 'The email should be unique'));
Параметры
-
allowMultipleNullsРазрешает любым полям иметь несколько значений null. По умолчанию — false.
Параметры
-
array<string>$fields Список полей для проверки уникальности.
-
array<string, mixed>|string|null$message optional Сообщение об ошибке, которое отображается, если правило не выполнено. Может также быть массивом параметров. В случае массива, ключ 'message' может быть использован для предоставления сообщения.
Возвращает
Cake\Datasource\RuleInvokervalidCount() public
validCount(string $field, int $count = 0, string $operator = '>', string|null $message = null): Cake\Datasource\RuleInvoker
Проверяет количество связанных записей.
Параметры
-
string$field Поле для проверки количества.
-
int$count optional Ожидаемое количество.
-
string$operator optional Оператор для сравнения количества.
-
string|null$message optional Сообщение об ошибке, которое отображается, если правило не выполнено.
Возвращает
Cake\Datasource\RuleInvokerПодробное описание свойств
$_createRules protected
Список правил для проверки во время операций создания
Тип
arrayCake\Datasource\RuleInvoker>$_deleteRules protected
Список правил для проверки во время операций удаления
Тип
arrayCake\Datasource\RuleInvoker>$_options protected
Список параметров для передачи каждой вызываемой функции правила
Тип
array$_rules protected
Список правил, которые необходимо проверить во время операций создания и обновления
Тип
arrayCake\Datasource\RuleInvoker>$_updateRules protected
Список правил для проверки во время операций обновления
Тип
arrayCake\Datasource\RuleInvoker>$_useI18n protected
Использовать ли функции I18n для перевода сообщений об ошибках по умолчанию
Тип
bool
© 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/4.4/class-Cake.ORM.RulesChecker.html