Класс 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')); Доступные параметры — ошибка 'сообщение' и флаг 'разрешитьНулевыеNull'. 'сообщение' задает пользовательское сообщение об ошибке. Установите 'разрешитьНулевыеNull' в значение true, чтобы принять составные внешние ключи, где один или несколько столбцов с возможностью NULL имеют значение NULL.
Параметры
- строка|массив
$field Поле или список полей для проверки существования по первичному ключу в другой таблице.
- объект|строка
$table - Имя таблицы, в которой будет проверяться существование полей.
- строка|массив|null
$messageнеобязательно null Сообщение об ошибке, которое будет отображаться, если правило не выполняется. Также может быть массивом опций. Если это массив, ключ 'сообщение' может быть использован для задания сообщения.
Возвращает
callableisUnique()source public
isUnique( array $fields , string|array|null $message null )
Возвращает вызываемый объект, который может быть использован в качестве правила для проверки уникальности значения в таблице.
Пример:
$rules->add($rules->isUnique(['email'], 'The email should be unique'));
Параметры
- массив
$fields - Список полей для проверки уникальности.
- строка|массив|null
$messageнеобязательно null Сообщение об ошибке, которое будет отображаться, если правило не выполняется. Также может быть массивом опций. Если это массив, ключ 'сообщение' может быть использован для задания сообщения.
Возвращает
callablevalidCount()source public
validCount( string $field , integer $count 0 , string $operator '>' , string|null $message null )
Проверяет корректность количества связанных записей.
Параметры
- строка
$field - Поле, на котором будет проверяться количество.
- целое число
$countнеобязательно 0 - Ожидаемое количество.
- строка
$operatorнеобязательно '>' - Оператор для сравнения количества.
- строка|null
$messageнеобязательно null - Сообщение об ошибке, которое будет отображаться, если правило не выполняется.
Возвращает
callableНаследуемые методы из Cake\Datasource\RulesChecker
__construct()source public
__construct( array $options [] )
Конструктор. Принимает опции, которые будут переданы всем правилам.
Параметры
- массив
$optionsнеобязательно [] - Опции для передачи каждому правилу
_addError()source protected
_addError( callable $rule , string $name , array $options )
Вспомогательный метод для оформления любого вызываемого объекта, таким образом, что если он вернёт false, соответствующее свойство в сущности будет помечено как недействительное.
Параметры
- вызываемый объект
$rule - Правило для оформления
- строка
$name - Псевдоним правила.
- массив
$options - Опции, содержащие сообщение об ошибке и поле.
Возвращает
callable_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–2018 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.5/class-Cake.ORM.RulesChecker.html