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