Validate/EmailAddress.php

Show: inherited
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 [email protected] 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

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

Properties

Propertyprotected\Zend_Translate $_defaultTranslator =
staticinherited

Default translation object for all validate objects

Inherited from: \Zend_Validate_Abstract::$$_defaultTranslator
Propertyprotectedarray $_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  
Propertyprotectedstring $_hostname =

Details
Type
string
Propertyprotectedarray $_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
\global\http://tools.ietf.org/html/rfc5735#page-6  
See
\global\http://tools.ietf.org/html/rfc6598#section-7  
See
\global\http://en.wikipedia.org/wiki/IPv4  
Propertyprotectedstring $_localPart =

Details
Type
string
PropertyprotectedInteger $_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  
Propertyprotectedarray $_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
Propertyprotectedarray $_messageVariables = array('hostname' => '_hostname', 'localPart' => '_localPart')

Additional variables available for validation failure messages

Default valuearray('hostname' => '_hostname', 'localPart' => '_localPart')Details
Type
array
Propertyprotectedarray $_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  
Propertyprotectedbool $_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  
Propertyprotected$_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
Propertyprotected\Zend_Translate $_translator =
inherited

Translation object

Inherited from: \Zend_Validate_Abstract::$$_translator
PropertyprotectedBoolean $_translatorDisabled = false
inherited

Is translation disabled?

Inherited from: \Zend_Validate_Abstract::$$_translatorDisabled
Default valuefalseDetails
Type
Boolean
Inherited_from
\Zend_Validate_Abstract::$$_translatorDisabled  
Propertyprotectedmixed $_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
Name Type Description
$options array | \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
Name Type Description
$property string
Returns
Type Description
mixed
Throws
Exception Description
\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
Name Type Description
$messageKey string
$value string
Returns
Type Description
string
methodprotected_error(string $messageKey, string $value = null) : void
inherited

Inherited from: \Zend_Validate_Abstract::_error()
Parameters
Name Type Description
$messageKey string
$value string

OPTIONAL

methodprivate_isReserved(string $host) : boolean

Returns if the given host is reserved

Parameters
Name Type Description
$host string
Returns
Type Description
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
Name Type Description
$value mixed
methodprivate_toIp(string $binary) : mixed

Converts a binary string to an IP address

Parameters
Name Type Description
$binary string
Returns
Type Description
mixed
methodprivate_validateHostnamePart() : boolean

Internal method to validate the hostname part of the email address

Returns
Type Description
boolean
methodprivate_validateLocalPart() : boolean

Internal method to validate the local part of the email address

Returns
Type Description
boolean
methodprivate_validateMXRecords() : boolean

Internal method to validate the servers MX records

Returns
Type Description
boolean
methodpublicgetDeepMxCheck() : boolean

Returns the set deepMxCheck option

Returns
Type Description
boolean
methodpublicgetDefaultTranslator() : \Zend_Translate_Adapter | null
staticinherited

Get default translation object for all validate objects

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

Returns the set domainCheck option

Returns
Type Description
\unknown
methodpublicgetErrors() : array
inherited

Returns array of validation failure message codes

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

Returns the set hostname validator

Returns
Type Description
\Zend_Validate_Hostname
methodpublicgetMessageLength() : integer
staticinherited

Returns the maximum allowed message length

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

Returns the message templates from the validator

Inherited from: \Zend_Validate_Abstract::getMessageTemplates()
Returns
Type Description
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
Type Description
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
Type Description
array
methodpublicgetObscureValue() : bool
inherited

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

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

Returns all set Options

Returns
Type Description
array
methodpublicgetTranslator() : \Zend_Translate_Adapter | null
inherited

Return translation object

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

Returns the set validateMx option

Returns
Type Description
boolean
methodpublichasDefaultTranslator() : boolean
staticinherited

Is there a default translation object set?

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

Does this validator have its own specific translator?

Inherited from: \Zend_Validate_Abstract::hasTranslator()
Returns
Type Description
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
Name Type Description
$value string
Returns
Type Description
boolean
Throws
Exception Description
\Zend_Validate_Exception If 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
Name Type Description
$deep boolean

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

Returns
Type Description
\Zend_Validate_EmailAddress Fluid 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
Name Type Description
$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
Name Type Description
$flag bool
Returns
Type Description
\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
Name Type Description
$domain boolean
Returns
Type Description
\Zend_Validate_EmailAddress Fluid Interface
methodpublicsetHostnameValidator(\Zend_Validate_Hostname $hostnameValidator = null, int $allow = \Zend_Validate_Hostname::ALLOW_DNS) : void

Parameters
Name Type Description
$hostnameValidator \Zend_Validate_Hostname

OPTIONAL

$allow int

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
Name Type Description
$messageString string
$messageKey string

OPTIONAL

Returns
Type Description
\Zend_Validate_Abstract Provides a fluent interface
Throws
Exception Description
\Zend_Validate_Exception
methodpublicsetMessageLength(integer $length = -1) : void
staticinherited

Sets the maximum allowed message length

Inherited from: \Zend_Validate_Abstract::setMessageLength()
Parameters
Name Type Description
$length integer
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
Name Type Description
$messages array
Returns
Type Description
\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
Name Type Description
$flag bool
Returns
Type Description
\Zend_Validate_Abstract
methodpublicsetOptions(array $options = array()) : \Zend_Validate_EmailAddress

Set options for the email validator

Parameters
Name Type Description
$options array
Returns
Type Description
\Zend_Validate_EmailAddress fluid interface
methodpublicsetTranslator(\Zend_Translate | \Zend_Translate_Adapter | null $translator = null) : \Zend_Validate_Abstract
inherited

Set translation object

Inherited from: \Zend_Validate_Abstract::setTranslator()
Parameters
Name Type Description
$translator \Zend_Translate | \Zend_Translate_Adapter | null
Returns
Type Description
\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
Name Type Description
$mx boolean

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

Returns
Type Description
\Zend_Validate_EmailAddress Fluid Interface
methodpublictranslatorIsDisabled() : bool
inherited

Is translation disabled?

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

Whether MX checking via getmxrr is supported or not

This currently only works on UNIX systems

Returns
Type Description
boolean
Documentation was generated by phpDocumentor 2.0.0a8.