Class Validation
Validation Class. Used for validation of model data
Offers different validation methods.
Copyright: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
License: MIT License
Location: Cake/Utility/Validation.php
Properties summary
Method Summary
- 
			
_check() protected static
Runs a regular expression match. - 
			
_defaults() protected static
Get the values to use when value sent to validation method is an array.
 - 
			
_pass() protected static
Attempts to pass unhandled Validation locales to a class starting with $classPrefix and ending with Validation. For example $classPrefix = 'nl', the class would be
NlValidation. - 
			
_populateIp() protected static
Lazily populate the IP address patterns used for validations - 
			
_reset() protected static
Reset internal variables for another validation run. - 
			
alphaNumeric() public static
Checks that a string contains only integer or letters - 
			
between() public static
Checks that a string length is within s specified range. Spaces are included in the character count. Returns true is string matches value min, max, or between min and max,
 - 
			
blank() public static
Returns true if field is left blank -OR- only whitespace characters are present in its value Whitespace characters include Space, Tab, Carriage Return, Newline
 - 
			
boolean() public static
Boolean validation, determines if value passed is a boolean integer or true/false. - 
			
cc() public static
Validation of credit card numbers. Returns true if $check is in the proper credit card format.
 - 
			
comparison() public static
Used to compare 2 numeric values. - 
			
custom() public static
Used when a custom regular expression is needed. - 
			
date() public static
Date validation, determines if the string passed is a valid date. keys that expect full month, day and year will validate leap years
 - 
			
datetime() public static
Validates a datetime value - 
			
decimal() public static
Checks that a value is a valid decimal. Both the sign and exponent are optional. - 
			
email() public static
Validates for an email address. - 
			
equalTo() public static
Check that value is exactly $comparedTo. - 
			
extension() public static
Check that value has a valid file extension. - 
			
fileSize() public static
Checks the filesize - 
			
inList() public static
Checks if a value is in a given list. - 
			
ip() public static
Validation of an IP address. - 
			
luhn() public static
Luhn algorithm - 
			
maxLength() public static
Checks whether the length of a string is smaller or equal to a maximal length.. - 
			
mimeType() public static
Checks the mime type of a file - 
			
minLength() public static
Checks whether the length of a string is greater or equal to a minimal length. - 
			
money() public static
Checks that a value is a monetary amount. - 
			
multiple() public static
Validate a multiple select. - 
			
naturalNumber() public static
Checks if a value is a natural number. - 
			
notEmpty() public static
Checks that a string contains something other than whitespace - 
			
numeric() public static
Checks if a value is numeric. - 
			
phone() public static
Check that a value is a valid phone number. - 
			
postal() public static
Checks that a given value is a valid postal code. - 
			
range() public static
Validate that a number is in specified range. if $lower and $upper are not set, will return true if $check is a legal finite on this platform
 - 
			
ssn() public static
Checks that a value is a valid Social Security Number. - 
			
time() public static
Time validation, determines if the string passed is a valid time. Validates time as 24hr (HH:MM) or am/pm ([H]H:MM[a|p]m) Does not allow/validate seconds.
 - 
			
uploadError() public static
Checking for upload errors - 
			
url() public static
Checks that a value is a valid URL according to http://www.w3.org/Addressing/URL/url-spec.txt - 
			
userDefined() public static
Runs an user-defined validation. - 
			
uuid() public static
Checks that a value is a valid UUID - http://tools.ietf.org/html/rfc4122 
Method Detail
_check() protected static ¶
_check( string $check , string $regex )
Runs a regular expression match.
Parameters
- string $check
 - Value to check against the $regex expression
 - string $regex
 - Regular expression
 
Returns
Success of match
_defaults() protected static ¶
_defaults( array $params )
Get the values to use when value sent to validation method is an array.
Parameters
- array $params
 - Parameters sent to validation method
 
_pass() protected static ¶
_pass( string $method , mixed $check , string $classPrefix )
Attempts to pass unhandled Validation locales to a class starting with $classPrefix
and ending with Validation. For example $classPrefix = 'nl', the class would be
NlValidation.
Parameters
- string $method
 - The method to call on the other class.
 - mixed $check
 - The value to check or an array of parameters for the method to be called.
 - string $classPrefix
 - The prefix for the class to do the validation.
 
Returns
Return of Passed method, false on failure
_populateIp() protected static ¶
_populateIp( )
Lazily populate the IP address patterns used for validations
alphaNumeric() public static ¶
alphaNumeric( string|array $check )
Checks that a string contains only integer or letters
Returns true if string contains only integer or letters
$check can be passed as an array: array('check' => 'valueToCheck');
Parameters
- string|array $check
 - Value to check
 
Returns
Success
between() public static ¶
between( string $check , integer $min , integer $max )
Checks that a string length is within s specified range. Spaces are included in the character count. Returns true is string matches value min, max, or between min and max,
Parameters
- string $check
 - Value to check for length
 - integer $min
 - Minimum value in range (inclusive)
 - integer $max
 - Maximum value in range (inclusive)
 
Returns
Success
blank() public static ¶
blank( string|array $check )
Returns true if field is left blank -OR- only whitespace characters are present in its value Whitespace characters include Space, Tab, Carriage Return, Newline
$check can be passed as an array: array('check' => 'valueToCheck');
Parameters
- string|array $check
 - Value to check
 
Returns
Success
boolean() public static ¶
boolean( string $check )
Boolean validation, determines if value passed is a boolean integer or true/false.
Parameters
- string $check
 - a valid boolean
 
Returns
Success
cc() public static ¶
cc( string|array $check , string|array $type = 'fast' , boolean $deep = false , string $regex = null )
Validation of credit card numbers. Returns true if $check is in the proper credit card format.
Parameters
- string|array $check
 - credit card number to validate
 - string|array $type optional 'fast'
 'all' may be passed as a sting, defaults to fast which checks format of most major credit cards if an array is used only the values of the array are checked. Example: array('amex', 'bankcard', 'maestro')
- boolean $deep optional false
 - set to true this will check the Luhn algorithm of the credit card.
 - string $regex optional null
 - A custom regex can also be passed, this will be used instead of the defined regex values
 
Returns
Success
See
comparison() public static ¶
comparison( string|array $check1 , string $operator = null , integer $check2 = null )
Used to compare 2 numeric values.
Parameters
- string|array $check1
 if string is passed for a string must also be passed for $check2 used as an array it must be passed as array('check1' => value, 'operator' => 'value', 'check2' -> value)
- string $operator optional null
 Can be either a word or operand is greater >, is less <, greater or equal >= less or equal <=, is less <, equal to ==, not equal !=
- integer $check2 optional null
 - only needed if $check1 is a string
 
Returns
Success
custom() public static ¶
custom( string|array $check , string $regex = null )
Used when a custom regular expression is needed.
Parameters
- string|array $check
 When used as a string, $regex must also be a valid regular expression. As and array: array('check' => value, 'regex' => 'valid regular expression')
- string $regex optional null
 - If $check is passed as a string, $regex must also be set to valid regular expression
 
Returns
Success
date() public static ¶
date( string $check , string|array $format = 'ymd' , string $regex = null )
Date validation, determines if the string passed is a valid date. keys that expect full month, day and year will validate leap years
Formats:
dmy27-12-2006 or 27-12-06 separators can be a space, period, dash, forward slashmdy12-27-2006 or 12-27-06 separators can be a space, period, dash, forward slashymd2006-12-27 or 06-12-27 separators can be a space, period, dash, forward slashdMy27 December 2006 or 27 Dec 2006MdyDecember 27, 2006 or Dec 27, 2006 comma is optionalMyDecember 2006 or Dec 2006my12/2006 or 12/06 separators can be a space, period, dash, forward slashym2006/12 or 06/12 separators can be a space, period, dash, forward slashy2006 just the year without any separators
Parameters
- string $check
 - a valid date string
 - string|array $format optional 'ymd'
 Use a string or an array of the keys above. Arrays should be passed as array('dmy', 'mdy', etc)
- string $regex optional null
 - If a custom regular expression is used this is the only validation that will occur.
 
Returns
Success
datetime() public static ¶
datetime( string $check , string|array $dateFormat = 'ymd' , string $regex = null )
Validates a datetime value
All values matching the "date" core validation rule, and the "time" one will be valid
Parameters
- string $check
 - Value to check
 - string|array $dateFormat optional 'ymd'
 - Format of the date part. See Validation::date for more information.
 - string $regex optional null
 - Regex for the date part. If a custom regular expression is used this is the only validation that will occur.
 
Returns
True if the value is valid, false otherwise
See
Validation::time
decimal() public static ¶
decimal( float $check , integer $places = null , string $regex = null )
Checks that a value is a valid decimal. Both the sign and exponent are optional.
Valid Places:
- null => Any number of decimal places, including none. The '.' is not required.
 - true => Any number of decimal places greater than 0, or a float|double. The '.' is required.
 - 1..N => Exactly that many number of decimal places. The '.' is required.
 
Parameters
- float $check
 - The value the test for decimal
 - integer $places optional null
 - string $regex optional null
 - If a custom regular expression is used, this is the only validation that will occur.
 
Returns
Success
email() public static ¶
email( string $check , boolean $deep = false , string $regex = null )
Validates for an email address.
Only uses getmxrr() checking for deep validation if PHP 5.3.0+ is used, or any PHP version on a non-windows distribution
Parameters
- string $check
 - Value to check
 - boolean $deep optional false
 - Perform a deeper validation (if true), by also checking availability of host
 - string $regex optional null
 - Regex to use (if none it will use built in regex)
 
Returns
Success
equalTo() public static ¶
equalTo( mixed $check , mixed $comparedTo )
Check that value is exactly $comparedTo.
Parameters
- mixed $check
 - Value to check
 - mixed $comparedTo
 - Value to compare
 
Returns
Success
extension() public static ¶
extension( string|array $check , array $extensions = array('gif', 'jpeg', 'png', 'jpg') )
Check that value has a valid file extension.
Parameters
- string|array $check
 - Value to check
 - array $extensions optional array('gif', 'jpeg', 'png', 'jpg')
 - file extensions to allow. By default extensions are 'gif', 'jpeg', 'png', 'jpg'
 
Returns
Success
fileSize() public static ¶
fileSize( string|array $check , integer|string $operator = null , string $size = null )
Checks the filesize
Parameters
- string|array $check
 - integer|string $operator optional null
 - $size Size in bytes or human readable string like '5MB'
 - string $size optional null
 - $operator See 
Validation::comparison() 
Returns
Success
inList() public static ¶
inList( string $check , array $list , boolean $strict = true )
Checks if a value is in a given list.
Parameters
- string $check
 - Value to check
 - array $list
 - List to check against
 - boolean $strict optional true
 - Defaults to true, set to false to disable strict type check
 
Returns
Success
ip() public static ¶
ip( string $check , string $type = 'both' )
Validation of an IP address.
Parameters
- string $check
 - The string to test.
 - string $type optional 'both'
 - The IP Protocol version to validate against
 
Returns
Success
luhn() public static ¶
luhn( string|array $check , boolean $deep = false )
Luhn algorithm
Parameters
- string|array $check
 - boolean $deep optional false
 
Returns
Success
See
maxLength() public static ¶
maxLength( string $check , integer $max )
Checks whether the length of a string is smaller or equal to a maximal length..
Parameters
- string $check
 - The string to test
 - integer $max
 - The maximal string length
 
Returns
Success
mimeType() public static ¶
mimeType( string|array $check , array $mimeTypes = array() )
Checks the mime type of a file
Parameters
- string|array $check
 - array $mimeTypes optional array()
 - to check for
 
Returns
Success
Throws
minLength() public static ¶
minLength( string $check , integer $min )
Checks whether the length of a string is greater or equal to a minimal length.
Parameters
- string $check
 - The string to test
 - integer $min
 - The minimal string length
 
Returns
Success
money() public static ¶
money( string $check , string $symbolPosition = 'left' )
Checks that a value is a monetary amount.
Parameters
- string $check
 - Value to check
 - string $symbolPosition optional 'left'
 - Where symbol is located (left/right)
 
Returns
Success
multiple() public static ¶
multiple( array $check , array $options = array() , boolean $strict = true )
Validate a multiple select.
Valid Options
- in => provide a list of choices that selections must be made from
 - max => maximum number of non-zero choices that can be made
 - min => minimum number of non-zero choices that can be made
 
Parameters
- array $check
 - Value to check
 - array $options optional array()
 - Options for the check.
 - boolean $strict optional true
 - Defaults to true, set to false to disable strict type check
 
Returns
Success
naturalNumber() public static ¶
naturalNumber( string $check , boolean $allowZero = false )
Checks if a value is a natural number.
Parameters
- string $check
 - Value to check
 - boolean $allowZero optional false
 - Set true to allow zero, defaults to false
 
Returns
Success
See
notEmpty() public static ¶
notEmpty( string|array $check )
Checks that a string contains something other than whitespace
Returns true if string contains something other than whitespace
$check can be passed as an array: array('check' => 'valueToCheck');
Parameters
- string|array $check
 - Value to check
 
Returns
Success
numeric() public static ¶
numeric( string $check )
Checks if a value is numeric.
Parameters
- string $check
 - Value to check
 
Returns
Success
phone() public static ¶
phone( string|array $check , string $regex = null , string $country = 'all' )
Check that a value is a valid phone number.
Parameters
- string|array $check
 - Value to check (string or array)
 - string $regex optional null
 - Regular expression to use
 - string $country optional 'all'
 - Country code (defaults to 'all')
 
Returns
Success
postal() public static ¶
postal( string|array $check , string $regex = null , string $country = 'us' )
Checks that a given value is a valid postal code.
Parameters
- string|array $check
 - Value to check
 - string $regex optional null
 - Regular expression to use
 - string $country optional 'us'
 - Country to use for formatting
 
Returns
Success
range() public static ¶
range( string $check , integer|float $lower = null , integer|float $upper = null )
Validate that a number is in specified range. if $lower and $upper are not set, will return true if $check is a legal finite on this platform
Parameters
- string $check
 - Value to check
 - integer|float $lower optional null
 - Lower limit
 - integer|float $upper optional null
 - Upper limit
 
Returns
Success
ssn() public static ¶
ssn( string|array $check , string $regex = null , string $country = null )
Checks that a value is a valid Social Security Number.
Parameters
- string|array $check
 - Value to check
 - string $regex optional null
 - Regular expression to use
 - string $country optional null
 - Country
 
Returns
Success
time() public static ¶
time( string $check )
Time validation, determines if the string passed is a valid time. Validates time as 24hr (HH:MM) or am/pm ([H]H:MM[a|p]m) Does not allow/validate seconds.
Parameters
- string $check
 - a valid time string
 
Returns
Success
uploadError() public static ¶
uploadError( string|array $check )
Checking for upload errors
Parameters
- string|array $check
 
Returns
See
url() public static ¶
url( string $check , boolean $strict = false )
Checks that a value is a valid URL according to http://www.w3.org/Addressing/URL/url-spec.txt
The regex checks for the following component parts:
- a valid, optional, scheme
 - a valid ip address OR a valid domain name as defined by section 2.3.1 of http://www.ietf.org/rfc/rfc1035.txt with an optional port number
 - an optional valid path
 - an optional query string (get parameters)
 - an optional fragment (anchor tag)
 
Parameters
- string $check
 - Value to check
 - boolean $strict optional false
 - Require URL to be prefixed by a valid scheme (one of http(s)/ftp(s)/file/news/gopher)
 
Returns
Success
userDefined() public static ¶
userDefined( string|array $check , object $object , string $method , array $args = null )
Runs an user-defined validation.
Parameters
- string|array $check
 - value that will be validated in user-defined methods.
 - object $object
 - class that holds validation method
 - string $method
 - class method name for validation to run
 - array $args optional null
 - arguments to send to method
 
Returns
user-defined class class method returns