Validate/EmailAddress.php

Show: PublicProtectedPrivateinherited
Table of Contents
Zend Framework

LICENSE

This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to license@zend.com so we can send you a copy immediately.

Category
Zend  
Copyright
Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  
Package
Zend_Validate  
Version
$Id: EmailAddress.php 25057 2012-11-02 20:35:40Z rob $  

\Zend_Validate_EmailAddress

Package: Zend\Validate
Parent(s)
\Zend_Validate_Abstract
Category
Zend  
Copyright
Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  

Constants

>VConstant  INVALID = 'emailAddressInvalid'
>VConstant  INVALID_FORMAT = 'emailAddressInvalidFormat'
>VConstant  INVALID_HOSTNAME = 'emailAddressInvalidHostname'
>VConstant  INVALID_MX_RECORD = 'emailAddressInvalidMxRecord'
>VConstant  INVALID_SEGMENT = 'emailAddressInvalidSegment'
>VConstant  DOT_ATOM = 'emailAddressDotAtom'
>VConstant  QUOTED_STRING = 'emailAddressQuotedString'
>VConstant  INVALID_LOCAL_PART = 'emailAddressInvalidLocalPart'
>VConstant  LENGTH_EXCEEDED = 'emailAddressLengthExceeded'

Properties

>VPropertyprotected\Zend_Translate $_defaultTranslator
staticinherited
Default translation object for all validate objects
Inherited from: \Zend_Validate_Abstract::$$_defaultTranslator
>VPropertyprotectedarray $_errors = array()
inherited
Array of validation failure message codes
Inherited from: \Zend_Validate_Abstract::$$_errors
Default valuearray()Details
Type
array
Inherited_from
\Zend_Validate_Abstract::$$_errors  
>VPropertyprotectedstring $_hostname
Details
Type
string
>VPropertyprotectedarray $_invalidIp = array('0' => '0.0.0.0/8', '10' => '10.0.0.0/8', '100' => '100.64.0.0/10', '127' => '127.0.0.0/8', '169' => '169.254.0.0/16', '172' => '172.16.0.0/12', '192' => array('192.0.0.0/24', '192.0.2.0/24', '192.88.99.0/24', '192.168.0.0/16'), '198' => '198.18.0.0/15', '224' => '224.0.0.0/4', '240' => '240.0.0.0/4')
As of RFC5753 (JAN 2010), the following blocks are no logner reserved: - 128.0.0.0/16 - 191.255.0.0/16 - 223.255.255.0/24
Default valuearray('0' => '0.0.0.0/8', '10' => '10.0.0.0/8', '100' => '100.64.0.0/10', '127' => '127.0.0.0/8', '169' => '169.254.0.0/16', '172' => '172.16.0.0/12', '192' => array('192.0.0.0/24', '192.0.2.0/24', '192.88.99.0/24', '192.168.0.0/16'), '198' => '198.18.0.0/15', '224' => '224.0.0.0/4', '240' => '240.0.0.0/4')Details
Type
array
See
As of RFC6598 (APR 2012), the following blocks are now reserved: - 100.64.0.0/10  
See
\http://tools.ietf.org/html/rfc6598#section-7  
See
\http://en.wikipedia.org/wiki/IPv4  
>VPropertyprotectedstring $_localPart
Details
Type
string
>VPropertyprotectedInteger $_messageLength = -1
staticinherited
Limits the maximum returned length of a error message
Inherited from: \Zend_Validate_Abstract::$$_messageLength
Default value-1Details
Type
Integer
Inherited_from
\Zend_Validate_Abstract::$$_messageLength  
>VPropertyprotectedarray $_messageTemplates = array(self::INVALID => "Invalid type given. String expected", self::INVALID_FORMAT => "'%value%' is not a valid email address in the basic format local-part@hostname", self::INVALID_HOSTNAME => "'%hostname%' is not a valid hostname for email address '%value%'", self::INVALID_MX_RECORD => "'%hostname%' does not appear to have a valid MX record for the email address '%value%'", self::INVALID_SEGMENT => "'%hostname%' is not in a routable network segment. The email address '%value%' should not be resolved from public network", self::DOT_ATOM => "'%localPart%' can not be matched against dot-atom format", self::QUOTED_STRING => "'%localPart%' can not be matched against quoted-string format", self::INVALID_LOCAL_PART => "'%localPart%' is not a valid local part for email address '%value%'", self::LENGTH_EXCEEDED => "'%value%' exceeds the allowed length")
Validation failure message template definitions
Default valuearray(self::INVALID => "Invalid type given. String expected", self::INVALID_FORMAT => "'%value%' is not a valid email address in the basic format local-part@hostname", self::INVALID_HOSTNAME => "'%hostname%' is not a valid hostname for email address '%value%'", self::INVALID_MX_RECORD => "'%hostname%' does not appear to have a valid MX record for the email address '%value%'", self::INVALID_SEGMENT => "'%hostname%' is not in a routable network segment. The email address '%value%' should not be resolved from public network", self::DOT_ATOM => "'%localPart%' can not be matched against dot-atom format", self::QUOTED_STRING => "'%localPart%' can not be matched against quoted-string format", self::INVALID_LOCAL_PART => "'%localPart%' is not a valid local part for email address '%value%'", self::LENGTH_EXCEEDED => "'%value%' exceeds the allowed length")Details
Type
array
>VPropertyprotectedarray $_messageVariables = array('hostname' => '_hostname', 'localPart' => '_localPart')
Additional variables available for validation failure messages
Default valuearray('hostname' => '_hostname', 'localPart' => '_localPart')Details
Type
array
>VPropertyprotectedarray $_messages = array()
inherited
Array of validation failure messages
Inherited from: \Zend_Validate_Abstract::$$_messages
Default valuearray()Details
Type
array
Inherited_from
\Zend_Validate_Abstract::$$_messages  
>VPropertyprotectedbool $_obscureValue = false
inherited
Flag indidcating whether or not value should be obfuscated in error messages
Inherited from: \Zend_Validate_Abstract::$$_obscureValue
Default valuefalseDetails
Type
bool
Inherited_from
\Zend_Validate_Abstract::$$_obscureValue  
>VPropertyprotected$_options = array('mx' => false, 'deep' => false, 'domain' => true, 'allow' => \Zend_Validate_Hostname::ALLOW_DNS, 'hostname' => null)
Internal options array
Default valuearray('mx' => false, 'deep' => false, 'domain' => true, 'allow' => \Zend_Validate_Hostname::ALLOW_DNS, 'hostname' => null)Details
Type
n/a
>VPropertyprotected\Zend_Translate $_translator
inherited
Translation object
Inherited from: \Zend_Validate_Abstract::$$_translator
>VPropertyprotectedBoolean $_translatorDisabled = false
inherited
Is translation disabled?
Inherited from: \Zend_Validate_Abstract::$$_translatorDisabled
Default valuefalseDetails
Type
Boolean
Inherited_from
\Zend_Validate_Abstract::$$_translatorDisabled  
>VPropertyprotectedmixed $_value
inherited
The value to be validated
Inherited from: \Zend_Validate_Abstract::$$_value
Details
Type
mixed
Inherited_from
\Zend_Validate_Abstract::$$_value  

Methods

methodpublic__construct(array | \Zend_Config $options = array()) : void

Instantiates hostname validator for local use

The following option keys are supported: 'hostname' => A hostname validator, see Zend_Validate_Hostname 'allow' => Options for the hostname validator, see Zend_Validate_Hostname::ALLOW_* 'mx' => If MX check should be enabled, boolean 'deep' => If a deep MX check should be done, boolean

Parameters
NameTypeDescription
$optionsarray | \Zend_Config

OPTIONAL

methodpublic__get(string $property) : mixed
inherited

Magic function returns the value of the requested property, if and only if it is the value or a message variable.

Inherited from: \Zend_Validate_Abstract::__get()
Parameters
NameTypeDescription
$propertystring
Returns
TypeDescription
mixed
Throws
ExceptionDescription
\Zend_Validate_Exception
methodprotected_createMessage(string $messageKey, string $value) : string
inherited

Constructs and returns a validation failure message with the given message key and value.

Inherited from: \Zend_Validate_Abstract::_createMessage()

Returns null if and only if $messageKey does not correspond to an existing template.

If a translator is available and a translation exists for $messageKey, the translation will be used.

Parameters
NameTypeDescription
$messageKeystring
$valuestring
Returns
TypeDescription
string
methodprotected_error(string $messageKey, string $value = null) : void
inherited

Inherited from: \Zend_Validate_Abstract::_error()
Parameters
NameTypeDescription
$messageKeystring
$valuestring

OPTIONAL

methodprivate_isReserved(string $host) : boolean

Returns if the given host is reserved

Parameters
NameTypeDescription
$hoststring
Returns
TypeDescription
boolean
methodprotected_setValue(mixed $value) : void
inherited

Sets the value to be validated and clears the messages and errors arrays

Inherited from: \Zend_Validate_Abstract::_setValue()
Parameters
NameTypeDescription
$valuemixed
methodprivate_toIp(string $binary) : mixed

Converts a binary string to an IP address

Parameters
NameTypeDescription
$binarystring
Returns
TypeDescription
mixed
methodprivate_validateHostnamePart() : boolean

Internal method to validate the hostname part of the email address

Returns
TypeDescription
boolean
methodprivate_validateLocalPart() : boolean

Internal method to validate the local part of the email address

Returns
TypeDescription
boolean
methodprivate_validateMXRecords() : boolean

Internal method to validate the servers MX records

Returns
TypeDescription
boolean
methodpublicgetDeepMxCheck() : boolean

Returns the set deepMxCheck option

Returns
TypeDescription
boolean
methodpublicgetDefaultTranslator() : \Zend_Translate_Adapter | null
staticinherited

Get default translation object for all validate objects

Inherited from: \Zend_Validate_Abstract::getDefaultTranslator()
Returns
TypeDescription
\Zend_Translate_Adapter | null
methodpublicgetDomainCheck() : \unknown

Returns the set domainCheck option

Returns
TypeDescription
\unknown
methodpublicgetErrors() : array
inherited

Returns array of validation failure message codes

Inherited from: \Zend_Validate_Abstract::getErrors()
Returns
TypeDescription
array
methodpublicgetHostnameValidator() : \Zend_Validate_Hostname

Returns the set hostname validator

Returns
TypeDescription
\Zend_Validate_Hostname
methodpublicgetMessageLength() : integer
staticinherited

Returns the maximum allowed message length

Inherited from: \Zend_Validate_Abstract::getMessageLength()
Returns
TypeDescription
integer
methodpublicgetMessageTemplates() : array
inherited

Returns the message templates from the validator

Inherited from: \Zend_Validate_Abstract::getMessageTemplates()
Returns
TypeDescription
array
methodpublicgetMessageVariables() : array
inherited

Returns an array of the names of variables that are used in constructing validation failure messages

Inherited from: \Zend_Validate_Abstract::getMessageVariables()
Returns
TypeDescription
array
methodpublicgetMessages() : array
inherited

Returns array of validation failure messages

Inherited from: \Zend_Validate_Abstract::getMessages()

The array keys are validation failure message identifiers, and the array values are the corresponding human-readable message strings.

If isValid() was never called or if the most recent isValid() call returned true, then this method returns an empty array.

Returns
TypeDescription
array
methodpublicgetObscureValue() : bool
inherited

Retrieve flag indicating whether or not value should be obfuscated in messages

Inherited from: \Zend_Validate_Abstract::getObscureValue()
Returns
TypeDescription
bool
methodpublicgetOptions() : array

Returns all set Options

Returns
TypeDescription
array
methodpublicgetTranslator() : \Zend_Translate_Adapter | null
inherited

Return translation object

Inherited from: \Zend_Validate_Abstract::getTranslator()
Returns
TypeDescription
\Zend_Translate_Adapter | null
methodpublicgetValidateMx() : boolean

Returns the set validateMx option

Returns
TypeDescription
boolean
methodpublichasDefaultTranslator() : boolean
staticinherited

Is there a default translation object set?

Inherited from: \Zend_Validate_Abstract::hasDefaultTranslator()
Returns
TypeDescription
boolean
methodpublichasTranslator() : bool
inherited

Does this validator have its own specific translator?

Inherited from: \Zend_Validate_Abstract::hasTranslator()
Returns
TypeDescription
bool
methodpublicisValid(string $value) : boolean

Defined by Zend_Validate_Interface

Returns true if and only if $value is a valid email address according to RFC2822

Parameters
NameTypeDescription
$valuestring
Returns
TypeDescription
boolean
Throws
ExceptionDescription
\Zend_Validate_ExceptionIf validation of $value is impossible
Details
Link
RFC2822  
Link
US-ASCII characters  
methodpublicsetDeepMxCheck(boolean $deep) : \Zend_Validate_EmailAddress

Set whether we check MX record should be a deep validation

Parameters
NameTypeDescription
$deepboolean

Set deep to true to perform a deep validation process for MX records

Returns
TypeDescription
\Zend_Validate_EmailAddressFluid Interface
methodpublicsetDefaultTranslator(\Zend_Translate | \Zend_Translate_Adapter | null $translator = null) : void
staticinherited

Set default translation object for all validate objects

Inherited from: \Zend_Validate_Abstract::setDefaultTranslator()
Parameters
NameTypeDescription
$translator\Zend_Translate | \Zend_Translate_Adapter | null
methodpublicsetDisableTranslator(bool $flag) : \Zend_Validate_Abstract
inherited

Indicate whether or not translation should be disabled

Inherited from: \Zend_Validate_Abstract::setDisableTranslator()
Parameters
NameTypeDescription
$flagbool
Returns
TypeDescription
\Zend_Validate_Abstract
methodpublicsetDomainCheck(boolean $domain = true) : \Zend_Validate_EmailAddress

Sets if the domain should also be checked or only the local part of the email address

Parameters
NameTypeDescription
$domainboolean
Returns
TypeDescription
\Zend_Validate_EmailAddressFluid Interface
methodpublicsetHostnameValidator(\Zend_Validate_Hostname $hostnameValidator = null, int $allow = \Zend_Validate_Hostname::ALLOW_DNS) : void

Parameters
NameTypeDescription
$hostnameValidator\Zend_Validate_Hostname

OPTIONAL

$allowint

OPTIONAL

methodpublicsetMessage(string $messageString, string $messageKey = null) : \Zend_Validate_Abstract

Sets the validation failure message template for a particular key Adds the ability to set messages to the attached hostname validator

Parameters
NameTypeDescription
$messageStringstring
$messageKeystring

OPTIONAL

Returns
TypeDescription
\Zend_Validate_AbstractProvides a fluent interface
Throws
ExceptionDescription
\Zend_Validate_Exception
methodpublicsetMessageLength(integer $length = -1) : void
staticinherited

Sets the maximum allowed message length

Inherited from: \Zend_Validate_Abstract::setMessageLength()
Parameters
NameTypeDescription
$lengthinteger
methodpublicsetMessages(array $messages) : \Zend_Validate_Abstract
inherited

Sets validation failure message templates given as an array, where the array keys are the message keys, and the array values are the message template strings.

Inherited from: \Zend_Validate_Abstract::setMessages()
Parameters
NameTypeDescription
$messagesarray
Returns
TypeDescription
\Zend_Validate_Abstract
methodpublicsetObscureValue(bool $flag) : \Zend_Validate_Abstract
inherited

Set flag indicating whether or not value should be obfuscated in messages

Inherited from: \Zend_Validate_Abstract::setObscureValue()
Parameters
NameTypeDescription
$flagbool
Returns
TypeDescription
\Zend_Validate_Abstract
methodpublicsetOptions(array $options = array()) : \Zend_Validate_EmailAddress

Set options for the email validator

Parameters
NameTypeDescription
$optionsarray
Returns
TypeDescription
\Zend_Validate_EmailAddressfluid interface
methodpublicsetTranslator(\Zend_Translate | \Zend_Translate_Adapter | null $translator = null) : \Zend_Validate_Abstract
inherited

Set translation object

Inherited from: \Zend_Validate_Abstract::setTranslator()
Parameters
NameTypeDescription
$translator\Zend_Translate | \Zend_Translate_Adapter | null
Returns
TypeDescription
\Zend_Validate_Abstract
methodpublicsetValidateMx(boolean $mx) : \Zend_Validate_EmailAddress

Set whether we check for a valid MX record via DNS

This only applies when DNS hostnames are validated

Parameters
NameTypeDescription
$mxboolean

Set allowed to true to validate for MX records, and false to not validate them

Returns
TypeDescription
\Zend_Validate_EmailAddressFluid Interface
methodpublictranslatorIsDisabled() : bool
inherited

Is translation disabled?

Inherited from: \Zend_Validate_Abstract::translatorIsDisabled()
Returns
TypeDescription
bool
methodpublicvalidateMxSupported() : boolean

Whether MX checking via getmxrr is supported or not

This currently only works on UNIX systems

Returns
TypeDescription
boolean
Documentation was generated by phpDocumentor 2.0.0a12.