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

  • RulesProvider
  • Validation
  • ValidationRule
  • ValidationSet
  • Validator

Interfaces

  • ValidatableInterface
  • ValidatorAwareInterface

Traits

  • ValidatorAwareTrait

Class Validator

Validator object encapsulates all methods related to data validations for a model It also provides an API to dynamically change validation rules for each model field.

Implements ArrayAccess to easily modify rules in the set

Cake\Validation\Validator implements ArrayAccess, IteratorAggregate, Countable
Namespace: Cake\Validation
Link: https://book.cakephp.org/3.0/en/core-libraries/validation.html
Location: Validation/Validator.php

Constants summary

  • integer
    EMPTY_ALL ¶
    self::EMPTY_STRING|self::EMPTY_ARRAY|self::EMPTY_FILE|self::EMPTY_DATE|self::EMPTY_TIME
  • integer
    EMPTY_ARRAY ¶
    2
  • integer
    EMPTY_DATE ¶
    8
  • integer
    EMPTY_FILE ¶
    4
  • integer
    EMPTY_STRING ¶
    1
  • integer
    EMPTY_TIME ¶
    16
  • string
    NESTED ¶
    '_nested'

Properties summary

  • $_allowEmptyFlags protected
    array
    Contains the flags which specify what is empty for each corresponding field.
  • $_allowEmptyMessages protected
    array

    Contains the validation messages associated with checking the emptiness for each corresponding field.

  • $_defaultProviders protected static
    array
    An associative array of objects or classes used as a default provider list
  • $_fields protected
    array
    Holds the ValidationSet objects array
  • $_presenceMessages protected
    array

    Contains the validation messages associated with checking the presence for each corresponding field.

  • $_providers protected
    array

    An associative array of objects or classes containing methods used for validation

  • $_useI18n protected
    boolean
    Whether or not to use I18n functions for translating default error messages

Method Summary

  • __construct() public
    Constructor
  • __debugInfo() public
    Get the printable version of this object.
  • _canBeEmpty() protected
    Returns whether the field can be left blank according to allowEmpty
  • _checkPresence() protected

    Returns false if any validation for the passed rule set should be stopped due to the field missing in the data array

  • _convertValidatorToArray() protected
    Converts validator to fieldName => $settings array
  • _fieldIsEmpty() protected deprecated
    Returns true if the field is empty in the passed data array
  • _processRules() protected

    Iterates over each rule in the validation set and collects the errors resulting from executing them

  • add() public

    Adds a new rule to a field's rule set. If second argument is an array then rules list for the field will be replaced with second argument and third argument will be ignored.

  • addDefaultProvider() public static
    Associates an object to a name so it can be used as a default provider.
  • addNested() public
    Adds a nested validator.
  • addNestedMany() public
    Adds a nested validator.
  • allowEmpty() public deprecated

    Allows a field to be empty. You can also pass array. Using an array will let you provide the following keys:

  • allowEmptyArray() public
    Allows a field to be an empty array.
  • allowEmptyDate() public
    Allows a field to be an empty date.
  • allowEmptyDateTime() public
    Allows a field to be an empty date/time.
  • allowEmptyFile() public
    Allows a field to be an empty file.
  • allowEmptyFor() public
    Low-level method to indicate that a field can be empty.
  • allowEmptyString() public
    Allows a field to be an empty string.
  • allowEmptyTime() public
    Allows a field to be an empty time.
  • alphaNumeric() public
    Add an alphanumeric rule to a field.
  • ascii() public
    Add a validation rule to ensure a field contains only ascii bytes
  • boolean() public
    Add a boolean validation rule to a field.
  • containsNonAlphaNumeric() public
    Add a rule to check if a field contains non alpha numeric characters.
  • count() public
    Returns the number of fields having validation rules
  • creditCard() public
    Add a credit card rule to a field.
  • date() public
    Add a date format validation rule to a field.
  • dateTime() public
    Add a date time format validation rule to a field.
  • decimal() public
    Add a decimal validation rule to a field.
  • email() public
    Add an email validation rule to a field.
  • equalToField() public
    Add a rule to compare one field is equal to another.
  • equals() public
    Add a equal to comparison rule to a field.
  • errors() public

    Returns an array of fields that have failed validation. On the current model. This method will actually run validation rules over data, not just return the messages.

  • field() public

    Returns a ValidationSet object containing all validation rules for a field, if passed a ValidationSet as second argument, it will replace any other rule set defined before

  • getDefaultProvider() public static
    Returns the default provider stored under that name if it exists.
  • getDefaultProviders() public static
    Get the list of default providers.
  • getIterator() public
    Returns an iterator for each of the fields to be validated
  • getNotEmptyMessage() public
    Gets the notEmpty message for a field
  • getProvider() public
    Returns the provider stored under that name if it exists.
  • getRequiredMessage() public
    Gets the required message for a field
  • greaterThan() public
    Add a greater than comparison rule to a field.
  • greaterThanField() public
    Add a rule to compare one field is greater than another.
  • greaterThanOrEqual() public
    Add a greater than or equal to comparison rule to a field.
  • greaterThanOrEqualToField() public
    Add a rule to compare one field is greater than or equal to another.
  • hasAtLeast() public

    Add a validation rule to ensure that a field is an array containing at least the specified amount of elements

  • hasAtMost() public

    Add a validation rule to ensure that a field is an array containing at most the specified amount of elements

  • hasField() public
    Check whether or not a validator contains any rules for the given field.
  • hexColor() public
    Add a validation rule to ensure a field is a 6 digits hex color value.
  • inList() public
    Add a validation rule to ensure the field value is within a whitelist.
  • integer() public
    Add a validation rule to ensure a field is an integer value.
  • invertWhenClause() protected
    Invert a when clause for creating notEmpty rules
  • ip() public
    Add an IP validation rule to a field.
  • ipv4() public
    Add an IPv4 validation rule to a field.
  • ipv6() public
    Add an IPv6 validation rule to a field.
  • isArray() public
    Add a validation rule to ensure that a field contains an array.
  • isEmpty() protected
    Returns true if the field is empty in the passed data array
  • isEmptyAllowed() public

    Returns whether or not a field can be left empty for a new or already existing record.

  • isPresenceRequired() public

    Returns whether or not a field can be left out for a new or already existing record.

  • latLong() public
    Add a validation rule to ensure the field is a lat/long tuple.
  • latitude() public
    Add a validation rule to ensure the field is a latitude.
  • lengthBetween() public
    Add an rule that ensures a string length is within a range.
  • lessThan() public
    Add a less than comparison rule to a field.
  • lessThanField() public
    Add a rule to compare one field is less than another.
  • lessThanOrEqual() public
    Add a less than or equal comparison rule to a field.
  • lessThanOrEqualToField() public
    Add a rule to compare one field is less than or equal to another.
  • localizedTime() public
    Add a localized time, date or datetime format validation rule to a field.
  • longitude() public
    Add a validation rule to ensure the field is a longitude.
  • maxLength() public
    Add a string length validation rule to a field.
  • maxLengthBytes() public
    Add a string length validation rule to a field.
  • minLength() public
    Add a string length validation rule to a field.
  • minLengthBytes() public
    Add a string length validation rule to a field.
  • multipleOptions() public
    Add a validation rule for a multiple select. Comparison is case sensitive by default.
  • naturalNumber() public
    Add a natural number validation rule to a field.
  • nonNegativeInteger() public
    Add a validation rule to ensure a field is a non negative integer.
  • notBlank() public
    Add a notBlank rule to a field.
  • notEmpty() public deprecated

    Sets a field to require a non-empty value. You can also pass array. Using an array will let you provide the following keys:

  • notEmptyArray() public
    Require a field to be a non-empty array
  • notEmptyDate() public
    Require a non-empty date value
  • notEmptyDateTime() public
    Require a field to be a non empty date/time.
  • notEmptyFile() public
    Require a field to be a not-empty file.
  • notEmptyString() public
    Requires a field to be not be an empty string.
  • notEmptyTime() public
    Require a field to be a non-empty time.
  • notEqualToField() public
    Add a rule to compare one field is not equal to another.
  • notEquals() public
    Add a not equal to comparison rule to a field.
  • notSameAs() public
    Add a rule to compare that two fields have different values.
  • numeric() public
    Add a numeric value validation rule to a field.
  • offsetExists() public
    Returns whether a rule set is defined for a field or not
  • offsetGet() public
    Returns the rule set for a field
  • offsetSet() public
    Sets the rule set for a field
  • offsetUnset() public
    Unsets the rule set for a field
  • provider() public deprecated

    Associates an object to a name so it can be used as a provider. Providers are objects or class names that can contain methods used during validation of for deciding whether a validation rule can be applied. All validation methods, when called will receive the full list of providers stored in this validator.

  • providers() public
    Get the list of providers in this validator.
  • range() public
    Add a validation rule to ensure a field is within a numeric range
  • regex() public
    Returns whether or not a field matches against a regular expression.
  • remove() public
    Removes a rule from the set by its name
  • requirePresence() public

    Sets whether a field is required to be present in data array. You can also pass array. Using an array will let you provide the following keys:

  • sameAs() public
    Add a rule to compare two fields to each other.
  • scalar() public
    Add a validation rule to ensure that a field contains a scalar.
  • setProvider() public

    Associates an object to a name so it can be used as a provider. Providers are objects or class names that can contain methods used during validation of for deciding whether a validation rule can be applied. All validation methods, when called will receive the full list of providers stored in this validator.

  • sortMessageAndWhen() protected

    Compatibility shim for the allowEmpty* methods that enable us to support both the $when, $message signature (deprecated) and the $message, $when format which is preferred.

  • time() public
    Add a time format validation rule to a field.
  • uploadedFile() public
    Add a validation rule to ensure the field is an uploaded file
  • url() public
    Add a validation rule to ensure a field is a URL.
  • urlWithProtocol() public
    Add a validation rule to ensure a field is a URL.
  • utf8() public
    Add a validation rule to ensure a field contains only BMP utf8 bytes
  • utf8Extended() public
    Add a validation rule to ensure a field contains only utf8 bytes.
  • uuid() public
    Add a validation rule to ensure the field is a UUID

Method Detail

__construct() public ¶

__construct( )

Constructor

__debugInfo() public ¶

__debugInfo( )

Get the printable version of this object.

Returns
array

_canBeEmpty() protected ¶

_canBeEmpty( Cake\Validation\ValidationSet $field , array $context )

Returns whether the field can be left blank according to allowEmpty

Parameters
Cake\Validation\ValidationSet $field
the set of rules for a field
array $context
a key value list of data containing the validation context.
Returns
boolean

_checkPresence() protected ¶

_checkPresence( Cake\Validation\ValidationSet $field , array $context )

Returns false if any validation for the passed rule set should be stopped due to the field missing in the data array

Parameters
Cake\Validation\ValidationSet $field
The set of rules for a field.
array $context
A key value list of data containing the validation context.
Returns
boolean

_convertValidatorToArray() protected ¶

_convertValidatorToArray( integer|string $fieldName , array $defaults = [] , string|array $settings = [] )

Converts validator to fieldName => $settings array

Parameters
integer|string $fieldName
name of field
array $defaults optional []
default settings
string|array $settings optional []
settings from data
Returns
array

_fieldIsEmpty() protected deprecated ¶

_fieldIsEmpty( mixed $data )

Returns true if the field is empty in the passed data array

Deprecated
3.7.0 Use isEmpty() instead
Parameters
mixed $data
Value to check against.
Returns
boolean

_processRules() protected ¶

_processRules( string $field , Cake\Validation\ValidationSet $rules , array $data , boolean $newRecord )

Iterates over each rule in the validation set and collects the errors resulting from executing them

Parameters
string $field
The name of the field that is being processed
Cake\Validation\ValidationSet $rules
the list of rules for a field
array $data
the full data passed to the validator
boolean $newRecord
whether is it a new record or an existing one
Returns
array

add() public ¶

add( string $field , array|string $name , array|Cake\Validation\ValidationRule $rule = [] )

Adds a new rule to a field's rule set. If second argument is an array then rules list for the field will be replaced with second argument and third argument will be ignored.

Example:

$validator
         ->add('title', 'required', ['rule' => 'notBlank'])
         ->add('user_id', 'valid', ['rule' => 'numeric', 'message' => 'Invalid User'])

     $validator->add('password', [
         'size' => ['rule' => ['lengthBetween', 8, 20]],
         'hasSpecialCharacter' => ['rule' => 'validateSpecialchar', 'message' => 'not valid']
     ]);
Parameters
string $field
The name of the field from which the rule will be added
array|string $name
The alias for a single rule or multiple rules array
array|Cake\Validation\ValidationRule $rule optional []
the rule to add
Returns

$this

addDefaultProvider() public static ¶

addDefaultProvider( string $name , object|string $object )

Associates an object to a name so it can be used as a default provider.

Parameters
string $name
The name under which the provider should be set.
object|string $object
Provider object or class name.

addNested() public ¶

addNested( string $field , Cake\Validation\Validator $validator , string|null $message = null , string|callable|null $when = null )

Adds a nested validator.

Nesting validators allows you to define validators for array types. For example, nested validators are ideal when you want to validate a sub-document, or complex array type.

This method assumes that the sub-document has a 1:1 relationship with the parent.

The providers of the parent validator will be synced into the nested validator, when errors are checked. This ensures that any validation rule providers connected in the parent will have the same values in the nested validator when rules are evaluated.

Parameters
string $field
The root field for the nested validator.
Cake\Validation\Validator $validator
The nested validator.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this

addNestedMany() public ¶

addNestedMany( string $field , Cake\Validation\Validator $validator , string|null $message = null , string|callable|null $when = null )

Adds a nested validator.

Nesting validators allows you to define validators for array types. For example, nested validators are ideal when you want to validate many similar sub-documents or complex array types.

This method assumes that the sub-document has a 1:N relationship with the parent.

The providers of the parent validator will be synced into the nested validator, when errors are checked. This ensures that any validation rule providers connected in the parent will have the same values in the nested validator when rules are evaluated.

Parameters
string $field
The root field for the nested validator.
Cake\Validation\Validator $validator
The nested validator.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this

allowEmpty() public deprecated ¶

allowEmpty( string|array $field , boolean|string|callable $when = true , string|null $message = null )

Allows a field to be empty. You can also pass array. Using an array will let you provide the following keys:

  • when individual when condition for field
  • 'message' individual message for field

You can also set when and message for all passed fields, the individual setting takes precedence over group settings.

This is the opposite of notEmpty() which requires a field to not be empty. By using $mode equal to 'create' or 'update', you can allow fields to be empty when records are first created, or when they are updated.

Example:

// Email can be empty
$validator->allowEmpty('email');

// Email can be empty on create
$validator->allowEmpty('email', 'create');

// Email can be empty on update
$validator->allowEmpty('email', 'update');

// Email and subject can be empty on update
$validator->allowEmpty(['email', 'subject'], 'update');

// Email can be always empty, subject and content can be empty on update.
$validator->allowEmpty(
     [
         'email' => [
             'when' => true
         ],
         'content' => [
             'message' => 'Content cannot be empty'
         ],
         'subject'
     ],
     'update'
);

It is possible to conditionally allow emptiness on a field by passing a callback as a second argument. The callback will receive the validation context array as argument:

$validator->allowEmpty('email', function ($context) {
 return !$context['newRecord'] || $context['data']['role'] === 'admin';
});

This method will correctly detect empty file uploads and date/time/datetime fields.

Because this and notEmpty() modify the same internal state, the last method called will take precedence.

Deprecated

3.7.0 Use allowEmptyString(), allowEmptyArray(), allowEmptyFile(), allowEmptyDate(), allowEmptyTime() or allowEmptyDateTime() instead.


Parameters
string|array $field
the name of the field or a list of fields
boolean|string|callable $when optional true

Indicates when the field is allowed to be empty Valid values are true (always), 'create', 'update'. If a callable is passed then the field will allowed to be empty only when the callback returns true.

string|null $message optional null
The message to show if the field is not
Returns

$this

allowEmptyArray() public ¶

allowEmptyArray( string $field , string|null $message = null , boolean|string|callable $when = true )

Allows a field to be an empty array.

This method is equivalent to calling allowEmptyFor() with EMPTY_STRING + EMPTY_ARRAY flags.

Parameters
string $field
The name of the field.
string|null $message optional null
The message to show if the field is not
boolean|string|callable $when optional true

Indicates when the field is allowed to be empty Valid values are true, false, 'create', 'update'. If a callable is passed then the field will allowed to be empty only when the callback returns true.

Returns

$this
Since
3.7.0
See
\Cake\Validation\Validator::allowEmptyFor() for examples.

allowEmptyDate() public ¶

allowEmptyDate( string $field , string|null $message = null , boolean|string|callable $when = true )

Allows a field to be an empty date.

Empty date values are null, '', [] and arrays where all values are '' and the year key is present.

Parameters
string $field
The name of the field.
string|null $message optional null
The message to show if the field is not
boolean|string|callable $when optional true

Indicates when the field is allowed to be empty Valid values are true, false, 'create', 'update'. If a callable is passed then the field will allowed to be empty only when the callback returns true.

Returns

$this
Since
3.7.0
See
\Cake\Validation\Validator::allowEmptyFor() for examples

allowEmptyDateTime() public ¶

allowEmptyDateTime( string $field , string|null $message = null , boolean|string|callable $when = true )

Allows a field to be an empty date/time.

Empty date values are null, '', [] and arrays where all values are '' and the year and hour keys are present.

This method is equivalent to calling allowEmptyFor() with EMPTY_STRING + EMPTY_DATE + EMPTY_TIME flags.

Parameters
string $field
The name of the field.
string|null $message optional null
The message to show if the field is not
boolean|string|callable $when optional true

Indicates when the field is allowed to be empty Valid values are true, false, 'create', 'update'. If a callable is passed then the field will allowed to be empty only when the callback returns false.

Returns

$this
Since
3.7.0
See
\Cake\Validation\Validator::allowEmptyFor() for examples.

allowEmptyFile() public ¶

allowEmptyFile( string $field , string|null $message = null , boolean|string|callable $when = true )

Allows a field to be an empty file.

This method is equivalent to calling allowEmptyFor() with EMPTY_FILE flag. File fields will not accept '', or [] as empty values. Only null and a file upload with error equal to UPLOAD_ERR_NO_FILE will be treated as empty.

Parameters
string $field
The name of the field.
string|null $message optional null
The message to show if the field is not
boolean|string|callable $when optional true

Indicates when the field is allowed to be empty Valid values are true, 'create', 'update'. If a callable is passed then the field will allowed to be empty only when the callback returns true.

Returns

$this
Since
3.7.0
See
\Cake\Validation\Validator::allowEmptyFor() For detail usage

allowEmptyFor() public ¶

allowEmptyFor( string $field , integer|null $flags , boolean|string|callable $when = true , string|null $message = null )

Low-level method to indicate that a field can be empty.

This method should generally not be used and instead you should use:

  • allowEmptyString()
  • allowEmptyArray()
  • allowEmptyFile()
  • allowEmptyDate()
  • allowEmptyDatetime()
  • allowEmptyTime()

Should be used as their APIs are simpler to operate and read.

You can also set flags, when and message for all passed fields, the individual setting takes precedence over group settings.

Example:

// Email can be empty
$validator->allowEmptyFor('email', Validator::EMPTY_STRING);

// Email can be empty on create
$validator->allowEmptyFor('email', Validator::EMPTY_STRING, 'create');

// Email can be empty on update
$validator->allowEmptyFor('email', Validator::EMPTY_STRING, 'update');

It is possible to conditionally allow emptiness on a field by passing a callback as a second argument. The callback will receive the validation context array as argument:

$validator->allowEmpty('email', Validator::EMPTY_STRING, function ($context) {
  return !$context['newRecord'] || $context['data']['role'] === 'admin';
});

If you want to allow other kind of empty data on a field, you need to pass other flags:

$validator->allowEmptyFor('photo', Validator::EMPTY_FILE);
$validator->allowEmptyFor('published', Validator::EMPTY_STRING | Validator::EMPTY_DATE | Validator::EMPTY_TIME);
$validator->allowEmptyFor('items', Validator::EMPTY_STRING | Validator::EMPTY_ARRAY);

You can also use convenience wrappers of this method. The following calls are the same as above:

$validator->allowEmptyFile('photo');
$validator->allowEmptyDateTime('published');
$validator->allowEmptyArray('items');
Parameters
string $field
The name of the field.
integer|null $flags
A bitmask of EMPTY_* flags which specify what is empty
boolean|string|callable $when optional true

Indicates when the field is allowed to be empty Valid values are true, false, 'create', 'update'. If a callable is passed then the field will allowed to be empty only when the callback returns true.

string|null $message optional null
The message to show if the field is not
Returns

$this
Since
3.7.0

allowEmptyString() public ¶

allowEmptyString( string $field , string|null $message = null , boolean|string|callable $when = true )

Allows a field to be an empty string.

This method is equivalent to calling allowEmptyFor() with EMPTY_STRING flag.

Parameters
string $field
The name of the field.
string|null $message optional null
The message to show if the field is not
boolean|string|callable $when optional true

Indicates when the field is allowed to be empty Valid values are true, false, 'create', 'update'. If a callable is passed then the field will allowed to be empty only when the callback returns true.

Returns

$this
Since
3.7.0
See
\Cake\Validation\Validator::allowEmptyFor() For detail usage

allowEmptyTime() public ¶

allowEmptyTime( string $field , string|null $message = null , boolean|string|callable $when = true )

Allows a field to be an empty time.

Empty date values are null, '', [] and arrays where all values are '' and the hour key is present.

This method is equivalent to calling allowEmptyFor() with EMPTY_STRING + EMPTY_TIME flags.

Parameters
string $field
The name of the field.
string|null $message optional null
The message to show if the field is not
boolean|string|callable $when optional true

Indicates when the field is allowed to be empty Valid values are true, false, 'create', 'update'. If a callable is passed then the field will allowed to be empty only when the callback returns true.

Returns

$this
Since
3.7.0
See
\Cake\Validation\Validator::allowEmptyFor() for examples.

alphaNumeric() public ¶

alphaNumeric( string $field , string|null $message = null , string|callable|null $when = null )

Add an alphanumeric rule to a field.

Parameters
string $field
The field you want to apply the rule to.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::alphaNumeric()

ascii() public ¶

ascii( string $field , string|null $message = null , string|callable|null $when = null )

Add a validation rule to ensure a field contains only ascii bytes

Parameters
string $field
The field you want to apply the rule to.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::ascii()

boolean() public ¶

boolean( string $field , string|null $message = null , string|callable|null $when = null )

Add a boolean validation rule to a field.

Parameters
string $field
The field you want to apply the rule to.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::boolean()

containsNonAlphaNumeric() public ¶

containsNonAlphaNumeric( string $field , integer $limit = 1 , string|null $message = null , string|callable|null $when = null )

Add a rule to check if a field contains non alpha numeric characters.

Parameters
string $field
The field you want to apply the rule to.
integer $limit optional 1
The minimum number of non-alphanumeric fields required.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::containsNonAlphaNumeric()

count() public ¶

count( )

Returns the number of fields having validation rules

Returns
integer
Implementation of
Countable::count()

creditCard() public ¶

creditCard( string $field , string $type = 'all' , string|null $message = null , string|callable|null $when = null )

Add a credit card rule to a field.

Parameters
string $field
The field you want to apply the rule to.
string $type optional 'all'

The type of cards you want to allow. Defaults to 'all'. You can also supply an array of accepted card types. e.g ['mastercard', 'visa', 'amex']

string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::creditCard()

date() public ¶

date( string $field , array $formats = ['ymd'] , string|null $message = null , string|callable|null $when = null )

Add a date format validation rule to a field.

Parameters
string $field
The field you want to apply the rule to.
array $formats optional ['ymd']
A list of accepted date formats.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::date()

dateTime() public ¶

dateTime( string $field , array $formats = ['ymd'] , string|null $message = null , string|callable|null $when = null )

Add a date time format validation rule to a field.

Parameters
string $field
The field you want to apply the rule to.
array $formats optional ['ymd']
A list of accepted date formats.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::datetime()

decimal() public ¶

decimal( string $field , integer|null $places = null , string|null $message = null , string|callable|null $when = null )

Add a decimal validation rule to a field.

Parameters
string $field
The field you want to apply the rule to.
integer|null $places optional null
The number of decimal places to require.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::decimal()

email() public ¶

email( string $field , boolean $checkMX = false , string|null $message = null , string|callable|null $when = null )

Add an email validation rule to a field.

Parameters
string $field
The field you want to apply the rule to.
boolean $checkMX optional false
Whether or not to check the MX records.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::email()

equalToField() public ¶

equalToField( string $field , string $secondField , string|null $message = null , string|callable|null $when = null )

Add a rule to compare one field is equal to another.

Parameters
string $field
The field you want to apply the rule to.
string $secondField
The field you want to compare against.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::compareFields()
Since
3.6.0

equals() public ¶

equals( string $field , integer|float $value , string|null $message = null , string|callable|null $when = null )

Add a equal to comparison rule to a field.

Parameters
string $field
The field you want to apply the rule to.
integer|float $value
The value user data must be equal to.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::comparison()

errors() public ¶

errors( array $data , boolean $newRecord = true )

Returns an array of fields that have failed validation. On the current model. This method will actually run validation rules over data, not just return the messages.

Parameters
array $data
The data to be checked for errors
boolean $newRecord optional true
whether the data to be validated is new or to be updated.
Returns
array
Array of invalid fields

field() public ¶

field( string $name , Cake\Validation\ValidationSet $set = null )

Returns a ValidationSet object containing all validation rules for a field, if passed a ValidationSet as second argument, it will replace any other rule set defined before

Parameters
string $name
[optional] The fieldname to fetch.
Cake\Validation\ValidationSet $set optional null
The set of rules for field
Returns
Cake\Validation\ValidationSet

getDefaultProvider() public static ¶

getDefaultProvider( string $name )

Returns the default provider stored under that name if it exists.

Parameters
string $name
The name under which the provider should be retrieved.
Returns
object|string|null

getDefaultProviders() public static ¶

getDefaultProviders( )

Get the list of default providers.

Returns
string[]

getIterator() public ¶

getIterator( )

Returns an iterator for each of the fields to be validated

Returns
ArrayIterator
Implementation of
IteratorAggregate::getIterator()

getNotEmptyMessage() public ¶

getNotEmptyMessage( string $field )

Gets the notEmpty message for a field

Parameters
string $field
Field name
Returns
string|null

getProvider() public ¶

getProvider( string $name )

Returns the provider stored under that name if it exists.

Parameters
string $name
The name under which the provider should be set.
Returns
object|string|null
Throws
ReflectionException

getRequiredMessage() public ¶

getRequiredMessage( string $field )

Gets the required message for a field

Parameters
string $field
Field name
Returns
string|null

greaterThan() public ¶

greaterThan( string $field , integer|float $value , string|null $message = null , string|callable|null $when = null )

Add a greater than comparison rule to a field.

Parameters
string $field
The field you want to apply the rule to.
integer|float $value
The value user data must be greater than.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::comparison()

greaterThanField() public ¶

greaterThanField( string $field , string $secondField , string|null $message = null , string|callable|null $when = null )

Add a rule to compare one field is greater than another.

Parameters
string $field
The field you want to apply the rule to.
string $secondField
The field you want to compare against.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::compareFields()
Since
3.6.0

greaterThanOrEqual() public ¶

greaterThanOrEqual( string $field , integer|float $value , string|null $message = null , string|callable|null $when = null )

Add a greater than or equal to comparison rule to a field.

Parameters
string $field
The field you want to apply the rule to.
integer|float $value
The value user data must be greater than or equal to.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::comparison()

greaterThanOrEqualToField() public ¶

greaterThanOrEqualToField( string $field , string $secondField , string|null $message = null , string|callable|null $when = null )

Add a rule to compare one field is greater than or equal to another.

Parameters
string $field
The field you want to apply the rule to.
string $secondField
The field you want to compare against.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::compareFields()
Since
3.6.0

hasAtLeast() public ¶

hasAtLeast( string $field , integer $count , string|null $message = null , string|callable|null $when = null )

Add a validation rule to ensure that a field is an array containing at least the specified amount of elements

Parameters
string $field
The field you want to apply the rule to.
integer $count
The number of elements the array should at least have
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::numElements()

hasAtMost() public ¶

hasAtMost( string $field , integer $count , string|null $message = null , string|callable|null $when = null )

Add a validation rule to ensure that a field is an array containing at most the specified amount of elements

Parameters
string $field
The field you want to apply the rule to.
integer $count
The number maximum amount of elements the field should have
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::numElements()

hasField() public ¶

hasField( string $name )

Check whether or not a validator contains any rules for the given field.

Parameters
string $name
The field name to check.
Returns
boolean

hexColor() public ¶

hexColor( string $field , string|null $message = null , string|callable|null $when = null )

Add a validation rule to ensure a field is a 6 digits hex color value.

Parameters
string $field
The field you want to apply the rule to.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::hexColor()

inList() public ¶

inList( string $field , array $list , string|null $message = null , string|callable|null $when = null )

Add a validation rule to ensure the field value is within a whitelist.

Parameters
string $field
The field you want to apply the rule to.
array $list
The list of valid options.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::inList()

integer() public ¶

integer( string $field , string|null $message = null , string|callable|null $when = null )

Add a validation rule to ensure a field is an integer value.

Parameters
string $field
The field you want to apply the rule to.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::isInteger()

invertWhenClause() protected ¶

invertWhenClause( boolean|string|callable $when )

Invert a when clause for creating notEmpty rules

Parameters
boolean|string|callable $when

Indicates when the field is not allowed to be empty. Valid values are true (always), 'create', 'update'. If a callable is passed then the field will allowed to be empty only when the callback returns false.

Returns
boolean|string|callable

ip() public ¶

ip( string $field , string|null $message = null , string|callable|null $when = null )

Add an IP validation rule to a field.

This rule will accept both IPv4 and IPv6 addresses.

Parameters
string $field
The field you want to apply the rule to.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::ip()

ipv4() public ¶

ipv4( string $field , string|null $message = null , string|callable|null $when = null )

Add an IPv4 validation rule to a field.

Parameters
string $field
The field you want to apply the rule to.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::ip()

ipv6() public ¶

ipv6( string $field , string|null $message = null , string|callable|null $when = null )

Add an IPv6 validation rule to a field.

Parameters
string $field
The field you want to apply the rule to.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::ip()

isArray() public ¶

isArray( string $field , string|null $message = null , string|callable|null $when = null )

Add a validation rule to ensure that a field contains an array.

Parameters
string $field
The field you want to apply the rule to.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::isArray()

isEmpty() protected ¶

isEmpty( mixed $data , integer $flags )

Returns true if the field is empty in the passed data array

Parameters
mixed $data
Value to check against.
integer $flags
A bitmask of EMPTY_* flags which specify what is empty
Returns
boolean

isEmptyAllowed() public ¶

isEmptyAllowed( string $field , boolean $newRecord )

Returns whether or not a field can be left empty for a new or already existing record.

Parameters
string $field
Field name.
boolean $newRecord
whether the data to be validated is new or to be updated.
Returns
boolean

isPresenceRequired() public ¶

isPresenceRequired( string $field , boolean $newRecord )

Returns whether or not a field can be left out for a new or already existing record.

Parameters
string $field
Field name.
boolean $newRecord
Whether the data to be validated is new or to be updated.
Returns
boolean

latLong() public ¶

latLong( string $field , string|null $message = null , string|callable|null $when = null )

Add a validation rule to ensure the field is a lat/long tuple.

e.g. <lat>, <lng>

Parameters
string $field
The field you want to apply the rule to.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::uuid()

latitude() public ¶

latitude( string $field , string|null $message = null , string|callable|null $when = null )

Add a validation rule to ensure the field is a latitude.

Parameters
string $field
The field you want to apply the rule to.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::latitude()

lengthBetween() public ¶

lengthBetween( string $field , array $range , string|null $message = null , string|callable|null $when = null )

Add an rule that ensures a string length is within a range.

Parameters
string $field
The field you want to apply the rule to.
array $range
The inclusive minimum and maximum length you want permitted.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::alphaNumeric()

lessThan() public ¶

lessThan( string $field , integer|float $value , string|null $message = null , string|callable|null $when = null )

Add a less than comparison rule to a field.

Parameters
string $field
The field you want to apply the rule to.
integer|float $value
The value user data must be less than.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::comparison()

lessThanField() public ¶

lessThanField( string $field , string $secondField , string|null $message = null , string|callable|null $when = null )

Add a rule to compare one field is less than another.

Parameters
string $field
The field you want to apply the rule to.
string $secondField
The field you want to compare against.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::compareFields()
Since
3.6.0

lessThanOrEqual() public ¶

lessThanOrEqual( string $field , integer|float $value , string|null $message = null , string|callable|null $when = null )

Add a less than or equal comparison rule to a field.

Parameters
string $field
The field you want to apply the rule to.
integer|float $value
The value user data must be less than or equal to.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::comparison()

lessThanOrEqualToField() public ¶

lessThanOrEqualToField( string $field , string $secondField , string|null $message = null , string|callable|null $when = null )

Add a rule to compare one field is less than or equal to another.

Parameters
string $field
The field you want to apply the rule to.
string $secondField
The field you want to compare against.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::compareFields()
Since
3.6.0

localizedTime() public ¶

localizedTime( string $field , string $type = 'datetime' , string|null $message = null , string|callable|null $when = null )

Add a localized time, date or datetime format validation rule to a field.

Parameters
string $field
The field you want to apply the rule to.
string $type optional 'datetime'
Parser type, one out of 'date', 'time', and 'datetime'
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::localizedTime()

longitude() public ¶

longitude( string $field , string|null $message = null , string|callable|null $when = null )

Add a validation rule to ensure the field is a longitude.

Parameters
string $field
The field you want to apply the rule to.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::longitude()

maxLength() public ¶

maxLength( string $field , integer $max , string|null $message = null , string|callable|null $when = null )

Add a string length validation rule to a field.

Parameters
string $field
The field you want to apply the rule to.
integer $max
The maximum length allowed.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::maxLength()

maxLengthBytes() public ¶

maxLengthBytes( string $field , integer $max , string|null $message = null , string|callable|null $when = null )

Add a string length validation rule to a field.

Parameters
string $field
The field you want to apply the rule to.
integer $max
The maximum length allowed.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::maxLengthBytes()

minLength() public ¶

minLength( string $field , integer $min , string|null $message = null , string|callable|null $when = null )

Add a string length validation rule to a field.

Parameters
string $field
The field you want to apply the rule to.
integer $min
The minimum length required.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::minLength()

minLengthBytes() public ¶

minLengthBytes( string $field , integer $min , string|null $message = null , string|callable|null $when = null )

Add a string length validation rule to a field.

Parameters
string $field
The field you want to apply the rule to.
integer $min
The minimum length required.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::minLengthBytes()

multipleOptions() public ¶

multipleOptions( string $field , array $options = [] , string|null $message = null , string|callable|null $when = null )

Add a validation rule for a multiple select. Comparison is case sensitive by default.

Parameters
string $field
The field you want to apply the rule to.
array $options optional []

The options for the validator. Includes the options defined in \Cake\Validation\Validation::multiple() and the caseInsensitive parameter.

string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::multiple()

naturalNumber() public ¶

naturalNumber( string $field , string|null $message = null , string|callable|null $when = null )

Add a natural number validation rule to a field.

Parameters
string $field
The field you want to apply the rule to.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::naturalNumber()

nonNegativeInteger() public ¶

nonNegativeInteger( string $field , string|null $message = null , string|callable|null $when = null )

Add a validation rule to ensure a field is a non negative integer.

Parameters
string $field
The field you want to apply the rule to.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::naturalNumber()

notBlank() public ¶

notBlank( string $field , string|null $message = null , string|callable|null $when = null )

Add a notBlank rule to a field.

Parameters
string $field
The field you want to apply the rule to.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::notBlank()

notEmpty() public deprecated ¶

notEmpty( string|array $field , string|null $message = null , boolean|string|callable $when = false )

Sets a field to require a non-empty value. You can also pass array. Using an array will let you provide the following keys:

  • when individual when condition for field
  • message individual error message for field

You can also set when and message for all passed fields, the individual setting takes precedence over group settings.

This is the opposite of allowEmpty() which allows a field to be empty. By using $mode equal to 'create' or 'update', you can make fields required when records are first created, or when they are updated.

Example:

$message = 'This field cannot be empty';

// Email cannot be empty
$validator->notEmpty('email');

// Email can be empty on update, but not create
$validator->notEmpty('email', $message, 'create');

// Email can be empty on create, but required on update.
$validator->notEmpty('email', $message, 'update');

// Email and title can be empty on create, but are required on update.
$validator->notEmpty(['email', 'title'], $message, 'update');

// Email can be empty on create, title must always be not empty
$validator->notEmpty(
     [
         'email',
         'title' => [
             'when' => true,
             'message' => 'Title cannot be empty'
         ]
     ],
     $message,
     'update'
);

It is possible to conditionally disallow emptiness on a field by passing a callback as the third argument. The callback will receive the validation context array as argument:

$validator->notEmpty('email', 'Email is required', function ($context) {
  return $context['newRecord'] && $context['data']['role'] !== 'admin';
});

Because this and allowEmpty() modify the same internal state, the last method called will take precedence.

Deprecated

3.7.0 Use notEmptyString(), notEmptyArray(), notEmptyFile(), notEmptyDate(), notEmptyTime() or notEmptyDateTime() instead.


Parameters
string|array $field
the name of the field or list of fields
string|null $message optional null
The message to show if the field is not
boolean|string|callable $when optional false

Indicates when the field is not allowed to be empty. Valid values are true (always), 'create', 'update'. If a callable is passed then the field will allowed to be empty only when the callback returns false.

Returns

$this

notEmptyArray() public ¶

notEmptyArray( string $field , string|null $message = null , boolean|string|callable $when = false )

Require a field to be a non-empty array

Opposite to allowEmptyArray()

Parameters
string $field
The name of the field.
string|null $message optional null
The message to show if the field is empty.
boolean|string|callable $when optional false

Indicates when the field is not allowed to be empty. Valid values are false (never), 'create', 'update'. If a callable is passed then the field will be required to be not empty when the callback returns true.

Returns

$this
See
\Cake\Validation\Validator::allowEmptyArray()
Since
3.8.0

notEmptyDate() public ¶

notEmptyDate( string $field , string|null $message = null , boolean|string|callable $when = false )

Require a non-empty date value

Parameters
string $field
The name of the field.
string|null $message optional null
The message to show if the field is empty.
boolean|string|callable $when optional false

Indicates when the field is not allowed to be empty. Valid values are false (never), 'create', 'update'. If a callable is passed then the field will be required to be not empty when the callback returns true.

Returns

$this
Since
3.8.0
See
\Cake\Validation\Validator::allowEmptyDate() for examples

notEmptyDateTime() public ¶

notEmptyDateTime( string $field , string|null $message = null , boolean|string|callable $when = false )

Require a field to be a non empty date/time.

Opposite to allowEmptyDateTime

Parameters
string $field
The name of the field.
string|null $message optional null
The message to show if the field is empty.
boolean|string|callable $when optional false

Indicates when the field is not allowed to be empty. Valid values are false (never), 'create', 'update'. If a callable is passed then the field will be required to be not empty when the callback returns true.

Returns

$this
Since
3.8.0
See
\Cake\Validation\Validator::allowEmptyDateTime()

notEmptyFile() public ¶

notEmptyFile( string $field , string|null $message = null , boolean|string|callable $when = false )

Require a field to be a not-empty file.

Opposite to allowEmptyFile()

Parameters
string $field
The name of the field.
string|null $message optional null
The message to show if the field is empty.
boolean|string|callable $when optional false

Indicates when the field is not allowed to be empty. Valid values are false (never), 'create', 'update'. If a callable is passed then the field will be required to be not empty when the callback returns true.

Returns

$this
Since
3.8.0
See
\Cake\Validation\Validator::allowEmptyFile()

notEmptyString() public ¶

notEmptyString( string $field , string|null $message = null , boolean|string|callable $when = false )

Requires a field to be not be an empty string.

Opposite to allowEmptyString()

Parameters
string $field
The name of the field.
string|null $message optional null
The message to show if the field is empty.
boolean|string|callable $when optional false

Indicates when the field is not allowed to be empty. Valid values are false (never), 'create', 'update'. If a callable is passed then the field will be required to be not empty when the callback returns true.

Returns

$this
See
\Cake\Validation\Validator::allowEmptyString()
Since
3.8.0

notEmptyTime() public ¶

notEmptyTime( string $field , string|null $message = null , boolean|string|callable $when = false )

Require a field to be a non-empty time.

Opposite to allowEmptyTime()

Parameters
string $field
The name of the field.
string|null $message optional null
The message to show if the field is empty.
boolean|string|callable $when optional false

Indicates when the field is not allowed to be empty. Valid values are false (never), 'create', 'update'. If a callable is passed then the field will be required to be not empty when the callback returns true.

Returns

$this
Since
3.8.0
See
\Cake\Validation\Validator::allowEmptyTime()

notEqualToField() public ¶

notEqualToField( string $field , string $secondField , string|null $message = null , string|callable|null $when = null )

Add a rule to compare one field is not equal to another.

Parameters
string $field
The field you want to apply the rule to.
string $secondField
The field you want to compare against.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::compareFields()
Since
3.6.0

notEquals() public ¶

notEquals( string $field , integer|float $value , string|null $message = null , string|callable|null $when = null )

Add a not equal to comparison rule to a field.

Parameters
string $field
The field you want to apply the rule to.
integer|float $value
The value user data must be not be equal to.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::comparison()

notSameAs() public ¶

notSameAs( string $field , string $secondField , string|null $message = null , string|callable|null $when = null )

Add a rule to compare that two fields have different values.

Parameters
string $field
The field you want to apply the rule to.
string $secondField
The field you want to compare against.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::compareFields()
Since
3.6.0

numeric() public ¶

numeric( string $field , string|null $message = null , string|callable|null $when = null )

Add a numeric value validation rule to a field.

Parameters
string $field
The field you want to apply the rule to.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::numeric()

offsetExists() public ¶

offsetExists( string $field )

Returns whether a rule set is defined for a field or not

Parameters
string $field
name of the field to check
Returns
boolean
Implementation of
ArrayAccess::offsetExists()

offsetGet() public ¶

offsetGet( string $field )

Returns the rule set for a field

Parameters
string $field
name of the field to check
Returns
Cake\Validation\ValidationSet
Implementation of
ArrayAccess::offsetGet()

offsetSet() public ¶

offsetSet( string $field , array|Cake\Validation\ValidationSet $rules )

Sets the rule set for a field

Parameters
string $field
name of the field to set
array|Cake\Validation\ValidationSet $rules
set of rules to apply to field
Implementation of
ArrayAccess::offsetSet()

offsetUnset() public ¶

offsetUnset( string $field )

Unsets the rule set for a field

Parameters
string $field
name of the field to unset
Implementation of
ArrayAccess::offsetUnset()

provider() public deprecated ¶

provider( string $name , string|object|null $object = null )

Associates an object to a name so it can be used as a provider. Providers are objects or class names that can contain methods used during validation of for deciding whether a validation rule can be applied. All validation methods, when called will receive the full list of providers stored in this validator.

If called with no arguments, it will return the provider stored under that name if it exists, otherwise it returns this instance of chaining.

Deprecated
3.4.0 Use setProvider()/getProvider() instead.
Parameters
string $name
The name under which the provider should be set.
string|object|null $object optional null
Provider object or class name.
Returns

$this|object|string|null

providers() public ¶

providers( )

Get the list of providers in this validator.

Returns
string[]

range() public ¶

range( string $field , array $range , string|null $message = null , string|callable|null $when = null )

Add a validation rule to ensure a field is within a numeric range

Parameters
string $field
The field you want to apply the rule to.
array $range
The inclusive upper and lower bounds of the valid range.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::range()

regex() public ¶

regex( string $field , string $regex , string|null $message = null , string|callable|null $when = null )

Returns whether or not a field matches against a regular expression.

Parameters
string $field
Field name.
string $regex
Regular expression.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this

remove() public ¶

remove( string $field , string|null $rule = null )

Removes a rule from the set by its name

Example:

$validator
         ->remove('title', 'required')
         ->remove('user_id')
Parameters
string $field
The name of the field from which the rule will be removed
string|null $rule optional null
the name of the rule to be removed
Returns

$this

requirePresence() public ¶

requirePresence( string|array $field , boolean|string|callable $mode = true , string|null $message = null )

Sets whether a field is required to be present in data array. You can also pass array. Using an array will let you provide the following keys:

  • mode individual mode for field
  • message individual error message for field

You can also set mode and message for all passed fields, the individual setting takes precedence over group settings.

Parameters
string|array $field
the name of the field or list of fields.
boolean|string|callable $mode optional true

Valid values are true, false, 'create', 'update'. If a callable is passed then the field will be required only when the callback returns true.

string|null $message optional null
The message to show if the field presence validation fails.
Returns

$this

sameAs() public ¶

sameAs( string $field , string $secondField , string|null $message = null , string|callable|null $when = null )

Add a rule to compare two fields to each other.

If both fields have the exact same value the rule will pass.

Parameters
string $field
The field you want to apply the rule to.
string $secondField
The field you want to compare against.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::compareFields()

scalar() public ¶

scalar( string $field , string|null $message = null , string|callable|null $when = null )

Add a validation rule to ensure that a field contains a scalar.

Parameters
string $field
The field you want to apply the rule to.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::isScalar()

setProvider() public ¶

setProvider( string $name , object|string $object )

Associates an object to a name so it can be used as a provider. Providers are objects or class names that can contain methods used during validation of for deciding whether a validation rule can be applied. All validation methods, when called will receive the full list of providers stored in this validator.

Parameters
string $name
The name under which the provider should be set.
object|string $object
Provider object or class name.
Returns

$this

sortMessageAndWhen() protected ¶

sortMessageAndWhen( mixed $first , mixed $second , string $method )

Compatibility shim for the allowEmpty* methods that enable us to support both the $when, $message signature (deprecated) and the $message, $when format which is preferred.

A deprecation warning will be emitted when a deprecated form is used.

Parameters
mixed $first
The message or when to be sorted.
mixed $second
The message or when to be sorted.
string $method
The called method
Returns
array
A list of [$message, $when]

time() public ¶

time( string $field , string|null $message = null , string|callable|null $when = null )

Add a time format validation rule to a field.

Parameters
string $field
The field you want to apply the rule to.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::time()

uploadedFile() public ¶

uploadedFile( string $field , array $options , string|null $message = null , string|callable|null $when = null )

Add a validation rule to ensure the field is an uploaded file

For options see Cake\Validation\Validation::uploadedFile()

Parameters
string $field
The field you want to apply the rule to.
array $options
An array of options.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::uploadedFile()

url() public ¶

url( string $field , string|null $message = null , string|callable|null $when = null )

Add a validation rule to ensure a field is a URL.

This validator does not require a protocol.

Parameters
string $field
The field you want to apply the rule to.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::url()

urlWithProtocol() public ¶

urlWithProtocol( string $field , string|null $message = null , string|callable|null $when = null )

Add a validation rule to ensure a field is a URL.

This validator requires the URL to have a protocol.

Parameters
string $field
The field you want to apply the rule to.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::url()

utf8() public ¶

utf8( string $field , string|null $message = null , string|callable|null $when = null )

Add a validation rule to ensure a field contains only BMP utf8 bytes

Parameters
string $field
The field you want to apply the rule to.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::utf8()

utf8Extended() public ¶

utf8Extended( string $field , string|null $message = null , string|callable|null $when = null )

Add a validation rule to ensure a field contains only utf8 bytes.

This rule will accept 3 and 4 byte UTF8 sequences, which are necessary for emoji.

Parameters
string $field
The field you want to apply the rule to.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::utf8()

uuid() public ¶

uuid( string $field , string|null $message = null , string|callable|null $when = null )

Add a validation rule to ensure the field is a UUID

Parameters
string $field
The field you want to apply the rule to.
string|null $message optional null
The error message when the rule fails.
string|callable|null $when optional null

Either 'create' or 'update' or a callable that returns true when the validation rule should be applied.

Returns

$this
See
\Cake\Validation\Validation::uuid()

Properties detail

$_allowEmptyFlags ¶

protected array

Contains the flags which specify what is empty for each corresponding field.

[]

$_allowEmptyMessages ¶

protected array

Contains the validation messages associated with checking the emptiness for each corresponding field.

[]

$_defaultProviders ¶

protected static array

An associative array of objects or classes used as a default provider list

[]

$_fields ¶

protected array

Holds the ValidationSet objects array

[]

$_presenceMessages ¶

protected array

Contains the validation messages associated with checking the presence for each corresponding field.

[]

$_providers ¶

protected array

An associative array of objects or classes containing methods used for validation

[]

$_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