CREATE
CREATE = 'create' : string
Indicates that the checking rules to apply are those used for creating entities
ORM flavoured rules checker.
Adds ORM related features to the RulesChecker class.
add(callable $rule, string|null $name = null, array $options = array()) : $this
Adds a rule that will be applied to the entity both on create and update operations.
The options array accept the following special keys:
errorField
: The name of the entity field that will be marked as invalid
if the rule does not pass.message
: The error message to set to errorField
if the rule does not pass.callable | $rule | A callable function or object that will return whether the entity is valid or not. |
string|null | $name | The alias for a rule. |
array | $options | List of extra options to pass to the rule callable as second argument. |
addCreate(callable $rule, string|null $name = null, array $options = array()) : $this
Adds a rule that will be applied to the entity on create operations.
The options array accept the following special keys:
errorField
: The name of the entity field that will be marked as invalid
if the rule does not pass.message
: The error message to set to errorField
if the rule does not pass.callable | $rule | A callable function or object that will return whether the entity is valid or not. |
string|null | $name | The alias for a rule. |
array | $options | List of extra options to pass to the rule callable as second argument. |
addUpdate(callable $rule, string|null $name = null, array $options = array()) : $this
Adds a rule that will be applied to the entity on update operations.
The options array accept the following special keys:
errorField
: The name of the entity field that will be marked as invalid
if the rule does not pass.message
: The error message to set to errorField
if the rule does not pass.callable | $rule | A callable function or object that will return whether the entity is valid or not. |
string|null | $name | The alias for a rule. |
array | $options | List of extra options to pass to the rule callable as second argument. |
addDelete(callable $rule, string|null $name = null, array $options = array()) : $this
Adds a rule that will be applied to the entity on delete operations.
The options array accept the following special keys:
errorField
: The name of the entity field that will be marked as invalid
if the rule does not pass.message
: The error message to set to errorField
if the rule does not pass.callable | $rule | A callable function or object that will return whether the entity is valid or not. |
string|null | $name | The alias for a rule. |
array | $options | List of extra options to pass to the rule callable as second argument. |
check(\Cake\Datasource\EntityInterface $entity, string $mode, array $options = array()) : boolean
Runs each of the rules by passing the provided entity and returns true if all of them pass. The rules to be applied are depended on the $mode parameter which can only be RulesChecker::CREATE, RulesChecker::UPDATE or RulesChecker::DELETE
\Cake\Datasource\EntityInterface | $entity | The entity to check for validity. |
string | $mode | Either 'create, 'update' or 'delete'. |
array | $options | Extra options to pass to checker functions. |
if an invalid mode is passed.
checkCreate(\Cake\Datasource\EntityInterface $entity, array $options = array()) : boolean
Runs each of the rules by passing the provided entity and returns true if all of them pass. The rules selected will be only those specified to be run on 'create'
\Cake\Datasource\EntityInterface | $entity | The entity to check for validity. |
array | $options | Extra options to pass to checker functions. |
checkUpdate(\Cake\Datasource\EntityInterface $entity, array $options = array()) : boolean
Runs each of the rules by passing the provided entity and returns true if all of them pass. The rules selected will be only those specified to be run on 'update'
\Cake\Datasource\EntityInterface | $entity | The entity to check for validity. |
array | $options | Extra options to pass to checker functions. |
checkDelete(\Cake\Datasource\EntityInterface $entity, array $options = array()) : boolean
Runs each of the rules by passing the provided entity and returns true if all of them pass. The rules selected will be only those specified to be run on 'delete'
\Cake\Datasource\EntityInterface | $entity | The entity to check for validity. |
array | $options | Extra options to pass to checker functions. |
isUnique(array $fields, string|array|null $message = null) : callable
Returns a callable that can be used as a rule for checking the uniqueness of a value in the table.
$rules->add($rules->isUnique(['email'], 'The email should be unique'));
array | $fields | The list of fields to check for uniqueness. |
string|array|null | $message | The error message to show in case the rule does not pass. Can also be an array of options. When an array, the 'message' key can be used to provide a message. |
existsIn(string|array $field, object|string $table, string|array|null $message = null) : callable
Returns a callable that can be used as a rule for checking that the values extracted from the entity to check exist as the primary key in another table.
This is useful for enforcing foreign key integrity checks.
$rules->add($rules->existsIn('author_id', 'Authors', 'Invalid Author'));
$rules->add($rules->existsIn('site_id', new SitesTable(), 'Invalid Site'));
Available $options are error 'message' and 'allowNullableNulls' flag. 'message' sets a custom error message. Set 'allowNullableNulls' to true to accept composite foreign keys where one or more nullable columns are null.
string|array | $field | The field or list of fields to check for existence by primary key lookup in the other table. |
object|string | $table | The table name where the fields existence will be checked. |
string|array|null | $message | The error message to show in case the rule does not pass. Can also be an array of options. When an array, the 'message' key can be used to provide a message. |
validCount(string $field, integer $count, string $operator = '>', string|null $message = null) : callable
Validates the count of associated records.
string | $field | The field to check the count on. |
integer | $count | The expected count. |
string | $operator | The operator for the count comparison. |
string|null | $message | The error message to show in case the rule does not pass. |
_checkRules(\Cake\Datasource\EntityInterface $entity, array $options = array(), array $rules = array()) : boolean
Used by top level functions checkDelete, checkCreate and checkUpdate, this function iterates an array containing the rules to be checked and checks them all.
\Cake\Datasource\EntityInterface | $entity | The entity to check for validity. |
array | $options | Extra options to pass to checker functions. |
array | $rules | The list of rules that must be checked. |
_addError(callable $rule, string $name, array $options) : callable
Utility method for decorating any callable so that if it returns false, the correct property in the entity is marked as invalid.
callable | $rule | The rule to decorate |
string | $name | The alias for a rule. |
array | $options | The options containing the error message and field. |