Validate/EmailAddress.php
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
- 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
Properties

\Zend_Translate $_defaultTranslator = Default translation object for all validate objects
Inherited from: \Zend_Validate_Abstract::$$_defaultTranslator- Type
- \Zend_Translate
- Inherited_from
- \Zend_Validate_Abstract::$$_defaultTranslator

array $_errors = array()Array of validation failure message codes
Inherited from: \Zend_Validate_Abstract::$$_errorsarray()Details- Type
- array
- Inherited_from
- \Zend_Validate_Abstract::$$_errors

array $_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
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')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

Integer $_messageLength = -1Limits the maximum returned length of a error message
Inherited from: \Zend_Validate_Abstract::$$_messageLength-1Details- Type
- Integer
- Inherited_from
- \Zend_Validate_Abstract::$$_messageLength

array $_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
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")Details- Type
- array

array $_messageVariables = array('hostname' => '_hostname', 'localPart' => '_localPart')Additional variables available for validation failure messages
array('hostname' => '_hostname', 'localPart' => '_localPart')Details- Type
- array

array $_messages = array()
array()Details- Type
- array
- Inherited_from
- \Zend_Validate_Abstract::$$_messages

bool $_obscureValue = falseFlag indidcating whether or not value should be obfuscated in error messages
Inherited from: \Zend_Validate_Abstract::$$_obscureValuefalseDetails- Type
- bool
- Inherited_from
- \Zend_Validate_Abstract::$$_obscureValue

$_options = array('mx' => false, 'deep' => false, 'domain' => true, 'allow' => \Zend_Validate_Hostname::ALLOW_DNS, 'hostname' => null)Internal options array
array('mx' => false, 'deep' => false, 'domain' => true, 'allow' => \Zend_Validate_Hostname::ALLOW_DNS, 'hostname' => null)Details- Type
- n/a

\Zend_Translate $_translator =
- Type
- \Zend_Translate
- Inherited_from
- \Zend_Validate_Abstract::$$_translator

Boolean $_translatorDisabled = false
falseDetails- Type
- Boolean
- Inherited_from
- \Zend_Validate_Abstract::$$_translatorDisabled
Methods

__construct(array | \Zend_Config $options = array()) : voidInstantiates 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
| Name | Type | Description |
|---|---|---|
| $options | array | \Zend_Config | OPTIONAL |

__get(string $property) : mixedMagic 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()| Name | Type | Description |
|---|---|---|
| $property | string |
| Type | Description |
|---|---|
| mixed |
| Exception | Description |
|---|---|
| \Zend_Validate_Exception |

_createMessage(string $messageKey, string $value) : stringConstructs 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.
| Name | Type | Description |
|---|---|---|
| $messageKey | string | |
| $value | string |
| Type | Description |
|---|---|
| string |

_error(string $messageKey, string $value = null) : void| Name | Type | Description |
|---|---|---|
| $messageKey | string | |
| $value | string | OPTIONAL |

_isReserved(string $host) : booleanReturns if the given host is reserved
| Name | Type | Description |
|---|---|---|
| $host | string |
| Type | Description |
|---|---|
| boolean |

_setValue(mixed $value) : voidSets the value to be validated and clears the messages and errors arrays
Inherited from: \Zend_Validate_Abstract::_setValue()| Name | Type | Description |
|---|---|---|
| $value | mixed |

_toIp(string $binary) : mixedConverts a binary string to an IP address
| Name | Type | Description |
|---|---|---|
| $binary | string |
| Type | Description |
|---|---|
| mixed |

_validateHostnamePart() : booleanInternal method to validate the hostname part of the email address
| Type | Description |
|---|---|
| boolean |

_validateLocalPart() : booleanInternal method to validate the local part of the email address
| Type | Description |
|---|---|
| boolean |

_validateMXRecords() : booleanInternal method to validate the servers MX records
| Type | Description |
|---|---|
| boolean |

getDefaultTranslator() : \Zend_Translate_Adapter | nullGet default translation object for all validate objects
Inherited from: \Zend_Validate_Abstract::getDefaultTranslator()| Type | Description |
|---|---|
| \Zend_Translate_Adapter | null |

getErrors() : arrayReturns array of validation failure message codes
Inherited from: \Zend_Validate_Abstract::getErrors()| Type | Description |
|---|---|
| array |

getHostnameValidator() : \Zend_Validate_HostnameReturns the set hostname validator
| Type | Description |
|---|---|
| \Zend_Validate_Hostname |

getMessageLength() : integerReturns the maximum allowed message length
Inherited from: \Zend_Validate_Abstract::getMessageLength()| Type | Description |
|---|---|
| integer |

getMessageTemplates() : arrayReturns the message templates from the validator
Inherited from: \Zend_Validate_Abstract::getMessageTemplates()| Type | Description |
|---|---|
| array |

getMessageVariables() : arrayReturns an array of the names of variables that are used in constructing validation failure messages
Inherited from: \Zend_Validate_Abstract::getMessageVariables()| Type | Description |
|---|---|
| array |

getMessages() : arrayReturns 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.
| Type | Description |
|---|---|
| array |

getObscureValue() : boolRetrieve flag indicating whether or not value should be obfuscated in messages
Inherited from: \Zend_Validate_Abstract::getObscureValue()| Type | Description |
|---|---|
| bool |

getTranslator() : \Zend_Translate_Adapter | null
| Type | Description |
|---|---|
| \Zend_Translate_Adapter | null |

hasDefaultTranslator() : booleanIs there a default translation object set?
Inherited from: \Zend_Validate_Abstract::hasDefaultTranslator()| Type | Description |
|---|---|
| boolean |

hasTranslator() : boolDoes this validator have its own specific translator?
Inherited from: \Zend_Validate_Abstract::hasTranslator()| Type | Description |
|---|---|
| bool |

isValid(string $value) : booleanDefined by Zend_Validate_Interface
Returns true if and only if $value is a valid email address according to RFC2822
| Name | Type | Description |
|---|---|---|
| $value | string |
| Type | Description |
|---|---|
| boolean |
| Exception | Description |
|---|---|
| \Zend_Validate_Exception | If validation of $value is impossible |
- Link
- RFC2822
- Link
- US-ASCII characters

setDeepMxCheck(boolean $deep) : \Zend_Validate_EmailAddressSet whether we check MX record should be a deep validation
| Name | Type | Description |
|---|---|---|
| $deep | boolean | Set deep to true to perform a deep validation process for MX records |
| Type | Description |
|---|---|
| \Zend_Validate_EmailAddress | Fluid Interface |

setDefaultTranslator(\Zend_Translate | \Zend_Translate_Adapter | null $translator = null) : voidSet default translation object for all validate objects
Inherited from: \Zend_Validate_Abstract::setDefaultTranslator()| Name | Type | Description |
|---|---|---|
| $translator | \Zend_Translate | \Zend_Translate_Adapter | null |

setDisableTranslator(bool $flag) : \Zend_Validate_AbstractIndicate whether or not translation should be disabled
Inherited from: \Zend_Validate_Abstract::setDisableTranslator()| Name | Type | Description |
|---|---|---|
| $flag | bool |
| Type | Description |
|---|---|
| \Zend_Validate_Abstract |

setDomainCheck(boolean $domain = true) : \Zend_Validate_EmailAddressSets if the domain should also be checked or only the local part of the email address
| Name | Type | Description |
|---|---|---|
| $domain | boolean |
| Type | Description |
|---|---|
| \Zend_Validate_EmailAddress | Fluid Interface |

setHostnameValidator(\Zend_Validate_Hostname $hostnameValidator = null, int $allow = \Zend_Validate_Hostname::ALLOW_DNS) : void| Name | Type | Description |
|---|---|---|
| $hostnameValidator | \Zend_Validate_Hostname | OPTIONAL |
| $allow | int | OPTIONAL |

setMessage(string $messageString, string $messageKey = null) : \Zend_Validate_AbstractSets the validation failure message template for a particular key Adds the ability to set messages to the attached hostname validator
| Name | Type | Description |
|---|---|---|
| $messageString | string | |
| $messageKey | string | OPTIONAL |
| Type | Description |
|---|---|
| \Zend_Validate_Abstract | Provides a fluent interface |
| Exception | Description |
|---|---|
| \Zend_Validate_Exception |

setMessageLength(integer $length = -1) : voidSets the maximum allowed message length
Inherited from: \Zend_Validate_Abstract::setMessageLength()| Name | Type | Description |
|---|---|---|
| $length | integer |

setMessages(array $messages) : \Zend_Validate_AbstractSets 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()| Name | Type | Description |
|---|---|---|
| $messages | array |
| Type | Description |
|---|---|
| \Zend_Validate_Abstract |

setObscureValue(bool $flag) : \Zend_Validate_AbstractSet flag indicating whether or not value should be obfuscated in messages
Inherited from: \Zend_Validate_Abstract::setObscureValue()| Name | Type | Description |
|---|---|---|
| $flag | bool |
| Type | Description |
|---|---|
| \Zend_Validate_Abstract |

setOptions(array $options = array()) : \Zend_Validate_EmailAddressSet options for the email validator
| Name | Type | Description |
|---|---|---|
| $options | array |
| Type | Description |
|---|---|
| \Zend_Validate_EmailAddress | fluid interface |

setTranslator(\Zend_Translate | \Zend_Translate_Adapter | null $translator = null) : \Zend_Validate_Abstract
| Name | Type | Description |
|---|---|---|
| $translator | \Zend_Translate | \Zend_Translate_Adapter | null |
| Type | Description |
|---|---|
| \Zend_Validate_Abstract |

setValidateMx(boolean $mx) : \Zend_Validate_EmailAddressSet whether we check for a valid MX record via DNS
This only applies when DNS hostnames are validated
| Name | Type | Description |
|---|---|---|
| $mx | boolean | Set allowed to true to validate for MX records, and false to not validate them |
| Type | Description |
|---|---|
| \Zend_Validate_EmailAddress | Fluid Interface |