Class Validation
Validation Class. Used for validation of model data
Offers different validation methods.
Constants summary
Properties summary
Method Summary
-
_check() protected static
Runs a regular expression match. -
_getDateString() protected static
Converts an array representing a date or datetime into a ISO string. The arrays are typically sent for validation from a form generated by the CakePHP FormHelper.
-
_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 -
ascii() public static
Check that the input value is within the ascii byte range. -
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
Validates if passed value is boolean-like. -
cc() public static
Backwards compatibility wrapper for Validation::creditCard(). -
compareFields() public static
Compare one field to another. -
compareWith() public static
Compare one field to another. -
comparison() public static
Used to compare 2 numeric values. -
containsNonAlphaNumeric() public static
Checks if a string contains one or more non-alphanumeric characters. -
creditCard() public static
Validation of credit card numbers. Returns true if $check is in the proper credit card format.
-
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
Checks that value is exactly $comparedTo. -
extension() public static
Checks that value has a valid file extension. -
falsey() public static
Validates if given value is falsey. -
fileSize() public static
Checks the filesize -
geoCoordinate() public static
Validates a geographic coordinate. -
getFilename() protected static
Helper for reading the file out of the various file implementations we accept.
-
hexColor() public static
Check that the input value is a 6 digits hex color. -
iban() public static
Check that the input value has a valid International Bank Account Number IBAN syntax Requirements are uppercase, no whitespaces, max length 34, country code and checksum exist at right spots, body matches against checksum via Mod97-10 algorithm
-
imageHeight() public static
Validates the image width. -
imageSize() public static
Validates the size of an uploaded image. -
imageWidth() public static
Validates the image width. -
inList() public static
Checks if a value is in a given list. Comparison is case sensitive by default. -
ip() public static
Validation of an IP address. -
isArray() public static
Check that the input value is an array. -
isInteger() public static
Check that the input value is an integer -
isScalar() public static
Check that the input value is a scalar. -
latitude() public static
Convenience method for latitude validation. -
lengthBetween() public static
Checks that a string length is within specified range. Spaces are included in the character count. Returns true if string matches value min, max, or between min and max,
-
localizedTime() public static
Date and/or time string validation. Uses
I18n::Time
to parse the date. This means parsing is locale dependent. -
longitude() public static
Convenience method for longitude validation. -
luhn() public static
Luhn algorithm -
maxLength() public static
Checks whether the length of a string (in characters) is smaller or equal to a maximal length. -
maxLengthBytes() public static
Checks whether the length of a string (in bytes) 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 (in characters) is greater or equal to a minimal length. -
minLengthBytes() public static
Checks whether the length of a string (in bytes) is greater or equal to a minimal length. -
money() public static
Checks that a value is a monetary amount. -
multiple() public static
Validates a multiple select. Comparison is case sensitive by default. -
naturalNumber() public static
Checks if a value is a natural number. -
notBlank() public static
Checks that a string contains something other than whitespace -
notEmpty() public static
Backwards compatibility wrapper for Validation::notBlank(). -
numElements() public static
Used to check the count of a given value of type array or Countable. -
numeric() public static
Checks if a value is numeric. -
range() public static
Validates that a number is in specified range. -
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.
-
truthy() public static
Validates if given value is truthy. -
uploadError() public static
Checking for upload errors -
uploadedFile() public static
Validate an uploaded file. -
url() public static
Checks that a value is a valid URL according to https://www.w3.org/Addressing/URL/url-spec.txt -
userDefined() public static
Runs an user-defined validation. -
utf8() public static
Check that the input value is a utf8 string. -
uuid() public static
Checks that a value is a valid UUID - https://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
_getDateString() protected static ¶
_getDateString( array $value )
Converts an array representing a date or datetime into a ISO string. The arrays are typically sent for validation from a form generated by the CakePHP FormHelper.
Parameters
- array $value
- The array representing a date or datetime.
Returns
_populateIp() protected static ¶
_populateIp( )
Lazily populate the IP address patterns used for validations
alphaNumeric() public static ¶
alphaNumeric( string $check )
Checks that a string contains only integer or letters
Returns true if string contains only integer or letters
Parameters
- string $check
- Value to check
Returns
Success
ascii() public static ¶
ascii( string $value )
Check that the input value is within the ascii byte range.
This method will reject all non-string values.
Parameters
- string $value
- The value to check
Returns
blank() public static ¶
blank( string $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
Deprecated
Parameters
- string $check
- Value to check
Returns
Success
boolean() public static ¶
boolean( boolean|integer|string $check , array $booleanValues [] )
Validates if passed value is boolean-like.
The list of what is considered to be boolean values, may be set via $booleanValues.
Parameters
- boolean|integer|string $check
- Value to check.
- array $booleanValues optional []
- List of valid boolean values, defaults to
[true, false, 0, 1, '0', '1']
.
Returns
Success.
cc() public static ¶
cc( string $check , string|array $type 'fast' , boolean $deep false , string|null $regex null )
Backwards compatibility wrapper for Validation::creditCard().
Deprecated
Parameters
- string $check
- credit card number to validate
- string|array $type optional 'fast'
'all' may be passed as a string, 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: ['amex', 'bankcard', 'maestro']
- boolean $deep optional false
- set to true this will check the Luhn algorithm of the credit card.
- string|null $regex optional null
- A custom regex can also be passed, this will be used instead of the defined regex values
Returns
Success
See
compareFields() public static ¶
compareFields( mixed $check , string $field , string $operator , array $context )
Compare one field to another.
Return true if the comparison matches the expected result.
Parameters
- mixed $check
- The value to find in $field.
- string $field
- The field to check $check against. This field must be present in $context.
- string $operator
- Comparison operator.
- array $context
- The validation context.
Returns
Since
compareWith() public static ¶
compareWith( mixed $check , string $field , array $context )
Compare one field to another.
If both fields have exactly the same value this method will return true.
Parameters
- mixed $check
- The value to find in $field.
- string $field
- The field to check $check against. This field must be present in $context.
- array $context
- The validation context.
Returns
comparison() public static ¶
comparison( string $check1 , string $operator , integer $check2 )
Used to compare 2 numeric values.
Parameters
- string $check1
- The left value to compare.
- string $operator
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
- The right value to compare.
Returns
Success
containsNonAlphaNumeric() public static ¶
containsNonAlphaNumeric( string $check , integer $count 1 )
Checks if a string contains one or more non-alphanumeric characters.
Returns true if string contains at least the specified number of non-alphanumeric characters
Parameters
- string $check
- Value to check
- integer $count optional 1
- Number of non-alphanumerics to check for
Returns
Success
creditCard() public static ¶
creditCard( string $check , string|array $type 'fast' , boolean $deep false , string|null $regex null )
Validation of credit card numbers. Returns true if $check is in the proper credit card format.
Parameters
- string $check
- credit card number to validate
- string|array $type optional 'fast'
'all' may be passed as a string, 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: ['amex', 'bankcard', 'maestro']
- boolean $deep optional false
- set to true this will check the Luhn algorithm of the credit card.
- string|null $regex optional null
- A custom regex can also be passed, this will be used instead of the defined regex values
Returns
Success
See
custom() public static ¶
custom( string $check , string|null $regex null )
Used when a custom regular expression is needed.
Parameters
- string $check
- The value to check.
- string|null $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|DateTimeInterface $check , string|array $format 'ymd' , string|null $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.
Years are valid from 1800 to 2999.
Formats:
dmy
27-12-2006 or 27-12-06 separators can be a space, period, dash, forward slashmdy
12-27-2006 or 12-27-06 separators can be a space, period, dash, forward slashymd
2006-12-27 or 06-12-27 separators can be a space, period, dash, forward slashdMy
27 December 2006 or 27 Dec 2006Mdy
December 27, 2006 or Dec 27, 2006 comma is optionalMy
December 2006 or Dec 2006my
12/2006 or 12/06 separators can be a space, period, dash, forward slashym
2006/12 or 06/12 separators can be a space, period, dash, forward slashy
2006 just the year without any separators
Parameters
- string|DateTimeInterface $check
- a valid date string/object
- string|array $format optional 'ymd'
Use a string or an array of the keys above. Arrays should be passed as ['dmy', 'mdy', etc]
- string|null $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|DateTimeInterface $check , string|array $dateFormat 'ymd' , string|null $regex null )
Validates a datetime value
All values matching the "date" core validation rule, and the "time" one will be valid
Parameters
- string|DateTimeInterface $check
- Value to check
- string|array $dateFormat optional 'ymd'
- Format of the date part. See Validation::date() for more information.
- string|null $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
\Cake\Validation\Validation::time()
decimal() public static ¶
decimal( float $check , integer|boolean|null $places null , string|null $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|boolean|null $places optional null
- Decimal places.
- string|null $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|null $regex null )
Validates for an email address.
Only uses getmxrr() checking for deep validation, 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|null $regex optional null
- Regex to use (if none it will use built in regex)
Returns
Success
equalTo() public static ¶
equalTo( mixed $check , mixed $comparedTo )
Checks that value is exactly $comparedTo.
Parameters
- mixed $check
- Value to check
- mixed $comparedTo
- Value to compare
Returns
Success
extension() public static ¶
extension( string|array|Psr\Http\Message\UploadedFileInterface $check , array $extensions ['gif', 'jpeg', 'png', 'jpg'] )
Checks that value has a valid file extension.
Parameters
- string|array|Psr\Http\Message\UploadedFileInterface $check
- Value to check
- array $extensions optional ['gif', 'jpeg', 'png', 'jpg']
- file extensions to allow. By default extensions are 'gif', 'jpeg', 'png', 'jpg'
Returns
Success
falsey() public static ¶
falsey( boolean|integer|string $check , array $falseyValues [] )
Validates if given value is falsey.
The list of what is considered to be falsey values, may be set via $falseyValues.
Parameters
- boolean|integer|string $check
- Value to check.
- array $falseyValues optional []
- List of valid falsey values, defaults to
[false, 0, '0']
.
Returns
Success.
fileSize() public static ¶
fileSize( string|array|Psr\Http\Message\UploadedFileInterface $check , string|null $operator null , integer|string|null $size null )
Checks the filesize
Will check the filesize of files/UploadedFileInterface instances by checking the filesize() on disk and not relying on the length reported by the client.
Parameters
- string|array|Psr\Http\Message\UploadedFileInterface $check
- Value to check.
- string|null $operator optional null
- See
Validation::comparison()
. - integer|string|null $size optional null
- Size in bytes or human readable string like '5MB'.
Returns
Success
geoCoordinate() public static ¶
geoCoordinate( string $value , array $options [] )
Validates a geographic coordinate.
Supported formats:
<latitude>, <longitude>
Example:-25.274398, 133.775136
Options
type
- A string of the coordinate format, right now onlylatLong
.format
- By defaultboth
, can belong
andlat
as well to validate only a part of the coordinate.
Parameters
- string $value
- Geographic location as string
- array $options optional []
- Options for the validation logic.
Returns
getFilename() protected static ¶
getFilename( string|array|Psr\Http\Message\UploadedFileInterface $check )
Helper for reading the file out of the various file implementations we accept.
Parameters
- string|array|Psr\Http\Message\UploadedFileInterface $check
- The data to read a filename out of.
Returns
Either the filename or false on failure.
hexColor() public static ¶
hexColor( string|array $check )
Check that the input value is a 6 digits hex color.
Parameters
- string|array $check
- The value to check
Returns
Success
iban() public static ¶
iban( string $check )
Check that the input value has a valid International Bank Account Number IBAN syntax Requirements are uppercase, no whitespaces, max length 34, country code and checksum exist at right spots, body matches against checksum via Mod97-10 algorithm
Parameters
- string $check
- The value to check
Returns
Success
imageHeight() public static ¶
imageHeight( array $file , string $operator , integer $height )
Validates the image width.
Parameters
- array $file
- The uploaded file data from PHP.
- string $operator
- Comparison operator.
- integer $height
- Min or max width.
Returns
imageSize() public static ¶
imageSize( array|Psr\Http\Message\UploadedFileInterface $file , array $options )
Validates the size of an uploaded image.
Parameters
- array|Psr\Http\Message\UploadedFileInterface $file
- The uploaded file data from PHP.
- array $options
- Options to validate width and height.
Returns
Throws
imageWidth() public static ¶
imageWidth( array $file , string $operator , integer $width )
Validates the image width.
Parameters
- array $file
- The uploaded file data from PHP.
- string $operator
- Comparison operator.
- integer $width
- Min or max width.
Returns
inList() public static ¶
inList( string $check , array $list , boolean $caseInsensitive false )
Checks if a value is in a given list. Comparison is case sensitive by default.
Parameters
- string $check
- Value to check.
- array $list
- List to check against.
- boolean $caseInsensitive optional false
- Set to true for case insensitive comparison.
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
isArray() public static ¶
isArray( array $value )
Check that the input value is an array.
Parameters
- array $value
- The value to check
Returns
isInteger() public static ¶
isInteger( string $value )
Check that the input value is an integer
This method will accept strings that contain only integer data as well.
Parameters
- string $value
- The value to check
Returns
isScalar() public static ¶
isScalar( mixed $value )
Check that the input value is a scalar.
This method will accept integers, floats, strings and booleans, but not accept arrays, objects, resources and nulls.
Parameters
- mixed $value
- The value to check
Returns
latitude() public static ¶
latitude( string $value , array $options [] )
Convenience method for latitude validation.
Parameters
- string $value
- Latitude as string
- array $options optional []
- Options for the validation logic.
Returns
Link
See
lengthBetween() public static ¶
lengthBetween( string $check , integer $min , integer $max )
Checks that a string length is within specified range. Spaces are included in the character count. Returns true if 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
localizedTime() public static ¶
localizedTime( string|DateTime $check , string $type 'datetime' , string|integer|null $format null )
Date and/or time string validation.
Uses I18n::Time
to parse the date. This means parsing is locale dependent.
Parameters
- string|DateTime $check
- a date string or object (will always pass)
- string $type optional 'datetime'
- Parser type, one out of 'date', 'time', and 'datetime'
- string|integer|null $format optional null
- any format accepted by IntlDateFormatter
Returns
Success
Throws
when unsupported $type given
See
longitude() public static ¶
longitude( string $value , array $options [] )
Convenience method for longitude validation.
Parameters
- string $value
- Latitude as string
- array $options optional []
- Options for the validation logic.
Returns
Link
See
luhn() public static ¶
luhn( string|array $check )
Luhn algorithm
Parameters
- string|array $check
- Value to check.
Returns
Success
See
maxLength() public static ¶
maxLength( string $check , integer $max )
Checks whether the length of a string (in characters) is smaller or equal to a maximal length.
Parameters
- string $check
- The string to test
- integer $max
- The maximal string length
Returns
Success
maxLengthBytes() public static ¶
maxLengthBytes( string $check , integer $max )
Checks whether the length of a string (in bytes) 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|Psr\Http\Message\UploadedFileInterface $check , array|string $mimeTypes [] )
Checks the mime type of a file.
Will check the mimetype of files/UploadedFileInterface instances by checking the using finfo on the file, not relying on the content-type sent by the client.
Parameters
- string|array|Psr\Http\Message\UploadedFileInterface $check
- Value to check.
- array|string $mimeTypes optional []
- Array of mime types or regex pattern to check.
Returns
Success
Throws
when mime type can not be determined.
LogicException
when ext/fileinfo is missing
minLength() public static ¶
minLength( string $check , integer $min )
Checks whether the length of a string (in characters) is greater or equal to a minimal length.
Parameters
- string $check
- The string to test
- integer $min
- The minimal string length
Returns
Success
minLengthBytes() public static ¶
minLengthBytes( string $check , integer $min )
Checks whether the length of a string (in bytes) is greater or equal to a minimal length.
Parameters
- string $check
- The string to test
- integer $min
- The minimal string length (in bytes)
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 [] , boolean $caseInsensitive false )
Validates a multiple select. Comparison is case sensitive by default.
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 []
- Options for the check.
- boolean $caseInsensitive optional false
- Set to true for case insensitive comparison.
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
notBlank() public static ¶
notBlank( string $check )
Checks that a string contains something other than whitespace
Returns true if string contains something other than whitespace
Parameters
- string $check
- Value to check
Returns
Success
notEmpty() public static ¶
notEmpty( string $check )
Backwards compatibility wrapper for Validation::notBlank().
Deprecated
Parameters
- string $check
- Value to check.
Returns
Success.
See
numElements() public static ¶
numElements( array|Countable $check , string $operator , integer $expectedCount )
Used to check the count of a given value of type array or Countable.
Parameters
- array|Countable $check
- The value to check the count on.
- string $operator
Can be either a word or operand is greater >, is less <, greater or equal >= less or equal <=, is less <, equal to ==, not equal !=
- integer $expectedCount
- The expected count value.
Returns
Success
numeric() public static ¶
numeric( string $check )
Checks if a value is numeric.
Parameters
- string $check
- Value to check
Returns
Success
range() public static ¶
range( string $check , integer|float|null $lower null , integer|float|null $upper null )
Validates that a number is in specified range.
If $lower and $upper are set, the range is inclusive. If they are not set, will return true if $check is a legal finite on this platform.
Parameters
- string $check
- Value to check
- integer|float|null $lower optional null
- Lower limit
- integer|float|null $upper optional null
- Upper limit
Returns
Success
time() public static ¶
time( string|DateTimeInterface $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|DateTimeInterface $check
- a valid time string/object
Returns
Success
truthy() public static ¶
truthy( boolean|integer|string $check , array $truthyValues [] )
Validates if given value is truthy.
The list of what is considered to be truthy values, may be set via $truthyValues.
Parameters
- boolean|integer|string $check
- Value to check.
- array $truthyValues optional []
- List of valid truthy values, defaults to
[true, 1, '1']
.
Returns
Success.
uploadError() public static ¶
uploadError( string|array|Psr\Http\Message\UploadedFileInterface $check , boolean $allowNoFile false )
Checking for upload errors
Parameters
- string|array|Psr\Http\Message\UploadedFileInterface $check
- Value to check.
- boolean $allowNoFile optional false
- Set to true to allow UPLOAD_ERR_NO_FILE as a pass.
Returns
See
uploadedFile() public static ¶
uploadedFile( array|Psr\Http\Message\UploadedFileInterface $file , array $options [] )
Validate an uploaded file.
Helps join uploadError
, fileSize
and mimeType
into
one higher level validation method.
Options
types
- An array of valid mime types. If empty all types will be accepted. Thetype
will not be looked at, instead the file type will be checked with ext/finfo.minSize
- The minimum file size in bytes. Defaults to not checking.maxSize
- The maximum file size in bytes. Defaults to not checking.optional
- Whether or not this file is optional. Defaults to false. If true a missing file will pass the validator regardless of other constraints.
Parameters
- array|Psr\Http\Message\UploadedFileInterface $file
- The uploaded file data from PHP.
- array $options optional []
- An array of options for the validation.
Returns
url() public static ¶
url( string $check , boolean $strict false )
Checks that a value is a valid URL according to https://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 https://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) as defined in RFC 3986
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
Link
userDefined() public static ¶
userDefined( string|array $check , object $object , string $method , array|null $args null )
Runs an user-defined validation.
Deprecated
rule
key when adding validators.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|null $args optional null
- arguments to send to method
Returns
user-defined class class method returns
utf8() public static ¶
utf8( string $value , array $options [] )
Check that the input value is a utf8 string.
This method will reject all non-string values.
Options
extended
- Disallow bytes higher within the basic multilingual plane. MySQL's older utf8 encoding type does not allow characters above the basic multilingual plane. Defaults to false.
Parameters
- string $value
- The value to check
- array $options optional []
- An array of options. See above for the supported options.
Returns
Properties detail
$_pattern ¶
Some complex patterns needed in multiple places
[ 'hostname' => '(?:[_\p{L}0-9][-_\p{L}0-9]*\.)*(?:[\p{L}0-9][-\p{L}0-9]{0,62})\.(?:(?:[a-z]{2}\.)?[a-z]{2,})', 'latitude' => '[-+]?([1-8]?\d(\.\d+)?|90(\.0+)?)', 'longitude' => '[-+]?(180(\.0+)?|((1[0-7]\d)|([1-9]?\d))(\.\d+)?)', ]