Spec-Zone.ru › CakePHP 4.4

Класс RulesChecker

Проверяющий правила с ORM.

Добавляет возможности ORM к классу RulesChecker.

Пространство имён: Cake\ORM
См.: \Cake\Datasource\RulesChecker

Константы

  • string
    CREATE
    'create'

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

  • string
    DELETE
    'delete'

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

  • string
    UPDATE
    '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

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

END_OF_DOCUMENT_MARKER

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

__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\RuleInvoker

Throws

InvalidArgumentException
В случае, если аргумент `$association` имеет недопустимый тип.

See Also

\Cake\ORM\RulesChecker::isLinkedTo()
\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

bool

add() 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

$this

addCreate() 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

$this

addDelete() 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

$this

addUpdate() 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

$this

check() 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

bool

Throws

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

bool

checkDelete() public

checkDelete(Cake\Datasource\EntityInterface $entity, array<string, mixed> $options = []): bool

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

Parameters

Cake\Datasource\EntityInterface $entity

Сущность для проверки на валидность.

array<string, mixed> $options optional

Дополнительные параметры для передачи функциям проверки.

Returns

bool

checkUpdate() public

checkUpdate(Cake\Datasource\EntityInterface $entity, array<string, mixed> $options = []): bool

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

Параметры

Cake\Datasource\EntityInterface $entity

Сущность для проверки на валидность.

array<string, mixed> $options optional

Дополнительные параметры для передачи функциям проверки.

Возвращает

bool

existsIn() 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\RuleInvoker

isLinkedTo() 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\RuleInvoker

isNotLinkedTo() 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\RuleInvoker

isUnique() 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\RuleInvoker

validCount() 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

Spec-Zone.ru

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