Validate/EmailAddress.php
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
- 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- Type
- \Zend_Translate
- Inherited_from
- \Zend_Validate_Abstract::$$_defaultTranslator

array $_errors = array()array()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')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
- 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

Integer $_messageLength = -1-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")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')array('hostname' => '_hostname', 'localPart' => '_localPart')Details- Type
- array

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

bool $_obscureValue = falsefalseDetails- Type
- bool
- Inherited_from
- \Zend_Validate_Abstract::$$_obscureValue

$_options = array('mx' => false, 'deep' => false, 'domain' => true, 'allow' => \Zend_Validate_Hostname::ALLOW_DNS, 'hostname' => null)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 = falsefalseDetails- 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 |