Spec-Zone.ru › CakePHP 4.2

Класс RulesChecker

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

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

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

Константы

  • string
    CREATE
    'create'

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

  • string
    DELETE
    'delete'

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

  • string
    UPDATE
    'update'

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

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

  • $_createRules protected
    Cake\Datasource\RuleInvoker[]

    Список правил, проверяемых во время операций создания

  • $_deleteRules protected
    Cake\Datasource\RuleInvoker[]

    Список правил, проверяемых во время операций удаления

  • $_options protected
    array

    Список параметров, передаваемых каждому вызываемому правилу

  • $_rules protected
    Cake\Datasource\RuleInvoker[]

    Список правил, проверяемых во время операций создания и обновления

  • $_updateRules protected
    Cake\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 $options = [])

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

Параметры

array $options optional

Опции для передачи каждому правилу

_addError() protected

_addError(callable $rule, string|array|null $name = null, array $options = []): Cake\Datasource\RuleInvoker

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

Параметры

callable $rule

Правило для декорирования

string|array|null $name optional

Псевдоним для правила или массив опций

array $options optional

Опции, содержащие сообщение об ошибке и поле.

Возвращает

Cake\Datasource\RuleInvoker

_addLinkConstraintRule() protected

_addLinkConstraintRule(Cake\ORM\Association|string $association, string|null $errorField, string|null $message, string $linkStatus, string $ruleName): Cake\Datasource\RuleInvoker

Добавляет правило ограничения связи.

Параметры

Cake\ORM\Association|string $association

Ассоциация для проверки ссылок.

string|null $errorField

Имя свойства, используемого для установки возможных ошибок. Если отсутствует, имя выводится из $association.

string|null $message

Сообщение об ошибке, которое нужно показать, если правило не выполняется.

string $linkStatus

Состояние ссылки, необходимое для прохождения проверки.

string $ruleName

Псевдоним/имя правила.

Возвращает

Cake\Datasource\RuleInvoker

Выбрасывает

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

См. также

\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 $options = [], Cake\Datasource\RuleInvoker[] $rules = []): bool

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

Параметры

Cake\Datasource\EntityInterface $entity

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

array $options optional

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

Cake\Datasource\RuleInvoker[] $rules optional

Список правил, которые необходимо проверить.

Возвращает

bool

add() public

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

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

Опции

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

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

Параметры

callable $rule

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

string|array|null $name optional

Псевдоним для правила или массив опций.

array $options optional

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

Возвращает

$this

addCreate() public

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

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

Опции

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

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

Параметры

callable $rule

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

string|array|null $name optional

Псевдоним для правила или массив опций.

array $options optional

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

Возвращает

$this

addDelete() public

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

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

Опции

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

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

Параметры

callable $rule

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

string|array|null $name optional

Псевдоним для правила или массив опций.

array $options optional

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

Возвращает

$this

addUpdate() public

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

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

Опции

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

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

Параметры

callable $rule

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

string|array|null $name optional

Псевдоним для правила или массив опций.

array $options optional

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

Возвращает

$this

check() public

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

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

Параметры

Cake\Datasource\EntityInterface $entity

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

string $mode

Либо 'create', 'update' или 'delete'.

array $options optional

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

Возвращает

bool

Выбрасывает

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

checkCreate() public

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

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

Параметры

Cake\Datasource\EntityInterface $entity

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

array $options optional

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

Возвращает

bool

checkDelete() public

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

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

Параметры

Cake\Datasource\EntityInterface $entity

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

array $options optional

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

Возвращает

bool

checkUpdate() public

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

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

Параметры

Cake\Datasource\EntityInterface $entity

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

array $options необязательный

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

Возвращает

bool

existsIn() public

existsIn(string|string[] $field, Cake\ORM\TableCake\ORM\Association|string $table, string|array|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'));

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

Параметры

string|string[] $field

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

Cake\ORM\TableCake\ORM\Association|string $table

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

string|array|null $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 необязательный

Имя свойства ассоциации. Если предоставлено, это имя, используемое для установки возможных ошибок. Если отсутствует, имя определяется из $association.

string|null $message необязательный

Сообщение об ошибке, которое будет отображено в случае, если правило не выполняется.

Возвращает

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 необязательный

Имя свойства ассоциации. Если предоставлено, это имя, используемое для установки возможных ошибок. Если отсутствует, имя определяется из $association.

string|null $message необязательный

Сообщение об ошибке, которое будет отображаться в случае, если правило не выполняется.

Возвращает

Cake\Datasource\RuleInvoker

isUnique() public

isUnique(string[] $fields, string|array|null $message = null): Cake\Datasource\RuleInvoker

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

Пример

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

Опции

  • allowMultipleNulls Позволяет любому полю иметь несколько значений null. По умолчанию false.

Параметры

string[] $fields

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

string|array|null $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 необязательный

Ожидаемое количество.

string $operator необязательный

Оператор для сравнения количества.

string|null $message необязательный

Сообщение об ошибке, которое будет отображаться в случае, если правило не выполняется.

Возвращает

Cake\Datasource\RuleInvoker

Детали свойств

$_createRules protected

Список правил для проверки при операциях создания

Тип

Cake\Datasource\RuleInvoker[]

$_deleteRules protected

Список правил для проверки при операциях удаления

Тип

Cake\Datasource\RuleInvoker[]

$_options protected

Список параметров для передачи каждому вызываемому правилу

Тип

array

$_rules protected

Список правил, которые должны быть проверены как при операциях создания, так и при операциях обновления

Тип

Cake\Datasource\RuleInvoker[]

$_updateRules protected

Список правил для проверки во время операций обновления

Тип

Cake\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.2/class-Cake.ORM.RulesChecker.html

Spec-Zone.ru

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