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 = -1
Limits the maximum returned length of a error message
Inherited from: \Zend_Validate_Abstract::$$_messageLength-1
Details- 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 = false
Flag indidcating whether or not value should be obfuscated in error messages
Inherited from: \Zend_Validate_Abstract::$$_obscureValuefalse
Details- 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
false
Details- Type
- Boolean
- Inherited_from
- \Zend_Validate_Abstract::$$_translatorDisabled
Methods


__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
Name | Type | Description |
---|---|---|
$options | array | \Zend_Config | OPTIONAL |


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


_createMessage(string $messageKey, string $value) : string
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.
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) : boolean
Returns if the given host is reserved
Name | Type | Description |
---|---|---|
$host | string |
Type | Description |
---|---|
boolean |


_setValue(mixed $value) : void
Sets 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) : mixed
Converts a binary string to an IP address
Name | Type | Description |
---|---|---|
$binary | string |
Type | Description |
---|---|
mixed |


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


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


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


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


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


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


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


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


getMessageVariables() : array
Returns 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() : array
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.
Type | Description |
---|---|
array |


getObscureValue() : bool
Retrieve 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() : boolean
Is there a default translation object set?
Inherited from: \Zend_Validate_Abstract::hasDefaultTranslator()Type | Description |
---|---|
boolean |


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


isValid(string $value) : boolean
Defined 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_EmailAddress
Set 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) : void
Set 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_Abstract
Indicate 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_EmailAddress
Sets 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_Abstract
Sets 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) : void
Sets the maximum allowed message length
Inherited from: \Zend_Validate_Abstract::setMessageLength()Name | Type | Description |
---|---|---|
$length | integer |


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


setObscureValue(bool $flag) : \Zend_Validate_Abstract
Set 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_EmailAddress
Set 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_EmailAddress
Set 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 |