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
-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")
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 = false
false
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)
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 |