CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Team
    • Issues (Github)
    • YouTube Channel
    • Get Involved
    • Bakery
    • Featured Resources
    • Newsletter
    • Certification
    • My CakePHP
    • CakeFest
    • Facebook
    • Twitter
    • Help & Support
    • Forum
    • Stack Overflow
    • IRC
    • Slack
    • Paid Support
CakePHP

C CakePHP 3.8 Red Velvet API

  • Overview
  • Tree
  • Deprecated
  • Version:
    • 3.8
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

Namespaces

  • Cake
    • Auth
      • Storage
    • Cache
      • Engine
    • Collection
      • Iterator
    • Command
    • Console
      • Exception
    • Controller
      • Component
      • Exception
    • Core
      • Configure
        • Engine
      • Exception
      • Retry
    • Database
      • Driver
      • Exception
      • Expression
      • Schema
      • Statement
      • Type
    • Datasource
      • Exception
    • Error
      • Middleware
    • Event
      • Decorator
    • Filesystem
    • Form
    • Http
      • Client
        • Adapter
        • Auth
      • Cookie
      • Exception
      • Middleware
      • Session
    • I18n
      • Formatter
      • Middleware
      • Parser
    • Log
      • Engine
    • Mailer
      • Exception
      • Transport
    • Network
      • Exception
    • ORM
      • Association
      • Behavior
        • Translate
      • Exception
      • Locator
      • Rule
    • Routing
      • Exception
      • Filter
      • Middleware
      • Route
    • Shell
      • Helper
      • Task
    • TestSuite
      • Fixture
      • Stub
    • Utility
      • Exception
    • Validation
    • View
      • Exception
      • Form
      • Helper
      • Widget
  • None

Classes

  • ConnectionManager
  • ConnectionRegistry
  • FactoryLocator
  • Paginator
  • QueryCacher
  • ResultSetDecorator
  • RulesChecker

Interfaces

  • ConnectionInterface
  • EntityInterface
  • FixtureInterface
  • InvalidPropertyInterface
  • PaginatorInterface
  • QueryInterface
  • RepositoryInterface
  • ResultSetInterface
  • SchemaInterface
  • TableSchemaInterface

Traits

  • EntityTrait
  • ModelAwareTrait
  • QueryTrait
  • RulesAwareTrait

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
  • Cake\ORM\RulesChecker
Namespace: Cake\Datasource
Location: Datasource/RulesChecker.php

Constants summary

  • string
    CREATE ¶
    'create'
  • string
    DELETE ¶
    'delete'
  • string
    UPDATE ¶
    'update'

Properties summary

  • $_createRules protected
    callable[]
    The list of rules to check during create operations
  • $_deleteRules protected
    callable[]
    The list of rules to check during delete operations
  • $_options protected
    array
    List of options to pass to every callable rule
  • $_rules protected
    callable[]
    The list of rules to be checked on both create and update operations
  • $_updateRules protected
    callable[]
    The list of rules to check during update operations
  • $_useI18n protected
    boolean
    Whether or not to use I18n functions for translating default error messages

Method Summary

  • __construct() public
    Constructor. 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() public
    Adds a rule that will be applied to the entity on create operations.
  • addDelete() public
    Adds a rule that will be applied to the entity on delete operations.
  • addUpdate() public
    Adds 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() 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

_addError() 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() 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

add() 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 to errorField 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|null $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

$this

addCreate() 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 to errorField 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|null $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

$this

addDelete() 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 to errorField 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|null $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

$this

addUpdate() 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 to errorField 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|null $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

$this

check() 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
Throws
InvalidArgumentException
if an invalid mode is passed.

checkCreate() 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

checkDelete() 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

checkUpdate() 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

Properties detail

$_createRules ¶

protected callable[]

The list of rules to check during create operations

[]

$_deleteRules ¶

protected callable[]

The list of rules to check during delete operations

[]

$_options ¶

protected array

List of options to pass to every callable rule

[]

$_rules ¶

protected callable[]

The list of rules to be checked on both create and update operations

[]

$_updateRules ¶

protected callable[]

The list of rules to check during update operations

[]

$_useI18n ¶

protected boolean

Whether or not to use I18n functions for translating default error messages

false
Follow @CakePHP
#IRC
OpenHub
Rackspace
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Logos & Trademarks
  • Community
  • Team
  • Issues (Github)
  • YouTube Channel
  • Get Involved
  • Bakery
  • Featured Resources
  • Newsletter
  • Certification
  • My CakePHP
  • CakeFest
  • Facebook
  • Twitter
  • Help & Support
  • Forum
  • Stack Overflow
  • IRC
  • Slack
  • Paid Support

Generated using CakePHP API Docs