On this page
Class RulesChecker
Contains logic for storing and checking rules on entities
RulesCheckers are used by Table classes to ensure that the current entity state satisfies the application logic and business rules.
RulesCheckers afford different rules to be applied in the create and update scenario.
Adding rules
Rules must be callable objects that return true/false depending on whether or not the rule has been satisfied. You can use RulesChecker::add(), RulesChecker::addCreate(), RulesChecker::addUpdate() and RulesChecker::addDelete to add rules to a checker.
Running checks
Generally a Table object will invoke the rules objects, but you can manually invoke the checks by calling RulesChecker::checkCreate(), RulesChecker::checkUpdate() or RulesChecker::checkDelete().
Direct Subclasses
Constants summary
stringCREATE'create'stringDELETE'delete'stringUPDATE'update'
Properties summary
-
$_createRulesprotectedThe list of rules to check during create operationscallable[] -
$_deleteRulesprotectedThe list of rules to check during delete operationscallable[] -
$_optionsprotectedList of options to pass to every callable rulearray -
$_rulesprotectedThe list of rules to be checked on both create and update operationscallable[] -
$_updateRulesprotectedThe list of rules to check during update operationscallable[] -
$_useI18nprotectedWhether or not to use I18n functions for translating default error messagesboolean
Method Summary
-
__construct() publicConstructor. Takes the options to be passed to all rules.
-
_addError() protected
Utility method for decorating any callable so that if it returns false, the correct property in the entity is marked as invalid.
-
_checkRules() protected
Used by top level functions checkDelete, checkCreate and checkUpdate, this function iterates an array containing the rules to be checked and checks them all.
-
add() public
Adds a rule that will be applied to the entity both on create and update operations.
-
addCreate() publicAdds a rule that will be applied to the entity on create operations.
-
addDelete() publicAdds a rule that will be applied to the entity on delete operations.
-
addUpdate() publicAdds a rule that will be applied to the entity on update operations.
-
check() public
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
-
checkCreate() public
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'
-
checkDelete() public
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'
-
checkUpdate() public
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'
Method Detail
__construct()source public
__construct( array $options = [] )
Constructor. Takes the options to be passed to all rules.
Parameters
-
array
$optionsoptional [] - The options to pass to every rule
_addError()source 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_checkRules()source 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
$optionsoptional [] - Extra options to pass to checker functions.
-
array
$rulesoptional [] - The list of rules that must be checked.
Returns
booleanadd()source public
add( callable $rule , string|null $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 toerrorFieldif the rule does not pass.
Parameters
-
callable
$rule -
A callable function or object that will return whether the entity is valid or not.
-
string|null
$nameoptional null - The alias for a rule.
-
array
$optionsoptional [] -
List of extra options to pass to the rule callable as second argument.
Returns
$this
addCreate()source public
addCreate( callable $rule , string|null $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 toerrorFieldif the rule does not pass.
Parameters
-
callable
$rule -
A callable function or object that will return whether the entity is valid or not.
-
string|null
$nameoptional null - The alias for a rule.
-
array
$optionsoptional [] -
List of extra options to pass to the rule callable as second argument.
Returns
$this
addDelete()source public
addDelete( callable $rule , string|null $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 toerrorFieldif the rule does not pass.
Parameters
-
callable
$rule -
A callable function or object that will return whether the entity is valid or not.
-
string|null
$nameoptional null - The alias for a rule.
-
array
$optionsoptional [] -
List of extra options to pass to the rule callable as second argument.
Returns
$this
addUpdate()source public
addUpdate( callable $rule , string|null $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 toerrorFieldif the rule does not pass.
Parameters
-
callable
$rule -
A callable function or object that will return whether the entity is valid or not.
-
string|null
$nameoptional null - The alias for a rule.
-
array
$optionsoptional [] -
List of extra options to pass to the rule callable as second argument.
Returns
$this
check()source 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
$optionsoptional [] - Extra options to pass to checker functions.
Returns
booleanThrows
InvalidArgumentExceptionif an invalid mode is passed.
checkCreate()source 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
$optionsoptional [] - Extra options to pass to checker functions.
Returns
booleancheckDelete()source 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
$optionsoptional [] - Extra options to pass to checker functions.
Returns
booleancheckUpdate()source 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
$optionsoptional [] - Extra options to pass to checker functions.
Returns
booleanProperties detail
$_rulessource
protected callable[]
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–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.7/class-Cake.Datasource.RulesChecker.html