Class RulesChecker
ORM flavoured rules checker.
Adds ORM related features to the RulesChecker class.
- Cake\Datasource\RulesChecker
- Cake\ORM\RulesChecker
Method Detail
existsInsource public
existsIn( string|array $field , object|string $table , string $message null )
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.
Example:
$rules->add($rules->existsIn('author_id', 'Authors', 'Invalid Author')); $rules->add($rules->existsIn('site_id', new SitesTable(), 'Invalid Site'));
Parameters
- 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
$message
optional null - The error message to show in case the rule does not pass.
Returns
callable
callable
isUniquesource public
isUnique( array $fields , string $message null )
Returns a callable that can be used as a rule for checking the uniqueness of a value in the table.
Example:
$rules->add($rules->isUnique(['email'], 'The email should be unique'));
Parameters
- array
$fields
- The list of fields to check for uniqueness.
- string
$message
optional null - The error message to show in case the rule does not pass.
Returns
callable
callable
Methods inherited from Cake\Datasource\RulesChecker
__constructsource public
__construct( array $options [] )
Constructor. Takes the options to be passed to all rules.
Parameters
- array
$options
optional [] - The options to pass to every rule
_addErrorsource protected
_addError( callable $rule , string $name , array $options )
Utility method for decorating any callable so that if it returns false, the correct property in the entity is marked as invalid.
Parameters
- callable
$rule
- The rule to decorate
- string
$name
- The alias for a rule.
- array
$options
- The options containing the error message and field.
Returns
callable
callable
_checkRulessource protected
_checkRules( Cake\Datasource\EntityInterface $entity , array $options [] , array $rules [] )
Used by top level functions checkDelete, checkCreate and checkUpdate, this function iterates an array containing the rules to be checked and checks them all.
Parameters
-
Cake\Datasource\EntityInterface
$entity
- The entity to check for validity.
- array
$options
optional [] - Extra options to pass to checker functions.
- array
$rules
optional [] - The list of rules that must be checked.
Returns
boolean
bool
addsource public
add( callable $rule , string $name null , array $options [] )
Adds a rule that will be applied to the entity both on create and update operations.
Options
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 toerrorField
if the rule does not pass.
Parameters
- callable
$rule
- A callable function or object that will return whether the entity is valid or not.
- string
$name
optional null - The alias for a rule.
- array
$options
optional [] - List of extra options to pass to the rule callable as second argument.
Returns
mixed
$this
addCreatesource public
addCreate( callable $rule , string $name null , array $options [] )
Adds a rule that will be applied to the entity on create operations.
Options
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 toerrorField
if the rule does not pass.
Parameters
- callable
$rule
- A callable function or object that will return whether the entity is valid or not.
- string
$name
optional null - The alias for a rule.
- array
$options
optional [] - List of extra options to pass to the rule callable as second argument.
Returns
mixed
$this
addDeletesource public
addDelete( callable $rule , string $name null , array $options [] )
Adds a rule that will be applied to the entity on delete operations.
Options
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 toerrorField
if the rule does not pass.
Parameters
- callable
$rule
- A callable function or object that will return whether the entity is valid or not.
- string
$name
optional null - The alias for a rule.
- array
$options
optional [] - List of extra options to pass to the rule callable as second argument.
Returns
mixed
$this
addUpdatesource public
addUpdate( callable $rule , string $name null , array $options [] )
Adds a rule that will be applied to the entity on update operations.
Options
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 toerrorField
if the rule does not pass.
Parameters
- callable
$rule
- A callable function or object that will return whether the entity is valid or not.
- string
$name
optional null - The alias for a rule.
- array
$options
optional [] - List of extra options to pass to the rule callable as second argument.
Returns
mixed
$this
checksource public
check( Cake\Datasource\EntityInterface $entity , string $mode , array $options [] )
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
Parameters
-
Cake\Datasource\EntityInterface
$entity
- The entity to check for validity.
- string
$mode
- Either 'create, 'update' or 'delete'.
- array
$options
optional [] - Extra options to pass to checker functions.
Returns
boolean
bool
Throws
InvalidArgumentException
if an invalid mode is passed.
checkCreatesource public
checkCreate( Cake\Datasource\EntityInterface $entity , array $options [] )
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'
Parameters
-
Cake\Datasource\EntityInterface
$entity
- The entity to check for validity.
- array
$options
optional [] - Extra options to pass to checker functions.
Returns
boolean
bool
checkDeletesource public
checkDelete( Cake\Datasource\EntityInterface $entity , array $options [] )
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'
Parameters
-
Cake\Datasource\EntityInterface
$entity
- The entity to check for validity.
- array
$options
optional [] - Extra options to pass to checker functions.
Returns
boolean
bool
checkUpdatesource public
checkUpdate( Cake\Datasource\EntityInterface $entity , array $options [] )
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'
Parameters
-
Cake\Datasource\EntityInterface
$entity
- The entity to check for validity.
- array
$options
optional [] - Extra options to pass to checker functions.
Returns
boolean
bool
Constants inherited from Cake\Datasource\RulesChecker
CREATE, DELETE, UPDATE |
Properties inherited from Cake\Datasource\RulesChecker
$_rulessource
protected array
The list of rules to be checked on both create and update operations
[]
$_useI18nsource
protected boolean
Whether or not to use I18n functions for translating default error messages
false
© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.ORM.RulesChecker.html