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
Link: https://book.cakephp.org/3.0/en/core-libraries/validation.html
Location: Validation/Validator.php
Constants summary
Properties summary
-
$_allowEmptyFlags
protectedarray
Contains the flags which specify what is empty for each corresponding field. -
$_allowEmptyMessages
protectedarray
Contains the validation messages associated with checking the emptiness for each corresponding field.
-
$_defaultProviders
protected staticarray
An associative array of objects or classes used as a default provider list -
$_fields
protectedarray
Holds the ValidationSet objects array -
$_presenceMessages
protectedarray
Contains the validation messages associated with checking the presence for each corresponding field.
-
$_providers
protectedarray
An associative array of objects or classes containing methods used for validation
-
$_useI18n
protectedboolean
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 toallowEmpty
-
_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
_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
_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
_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
_fieldIsEmpty() protected deprecated ¶
_fieldIsEmpty( mixed $data )
Returns true if the field is empty in the passed data array
Deprecated
Parameters
- mixed $data
- Value to check against.
Returns
_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
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
See
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
See
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
See
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
See
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
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
See
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
See
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
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
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
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
count() public ¶
count( )
Returns the number of fields having validation rules
Returns
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
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
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
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
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
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
Since
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
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 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
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
getDefaultProviders() public static ¶
getDefaultProviders( )
Get the list of default providers.
Returns
getIterator() public ¶
getIterator( )
Returns an iterator for each of the fields to be validated
Returns
Implementation of
IteratorAggregate::getIterator()
getNotEmptyMessage() public ¶
getNotEmptyMessage( string $field )
Gets the notEmpty message for a field
Parameters
- string $field
- Field name
Returns
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
Throws
getRequiredMessage() public ¶
getRequiredMessage( string $field )
Gets the required message for a field
Parameters
- string $field
- Field name
Returns
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
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
Since
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
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
Since
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Since
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
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
Since
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
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
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
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
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
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
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
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
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
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
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 fieldmessage
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
Since
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
See
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
See
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
See
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
Since
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
See
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
Since
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
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
Since
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
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
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
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
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
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
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 fieldmessage
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
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
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
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
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
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
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
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
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
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
Properties detail
$_allowEmptyFlags ¶
Contains the flags which specify what is empty for each corresponding field.
[]
$_allowEmptyMessages ¶
Contains the validation messages associated with checking the emptiness for each corresponding field.
[]
$_defaultProviders ¶
An associative array of objects or classes used as a default provider list
[]
$_presenceMessages ¶
Contains the validation messages associated with checking the presence for each corresponding field.
[]
$_providers ¶
An associative array of objects or classes containing methods used for validation
[]