## API Documentation

# Validate/Hostname.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 license@zend.com so we can send you a copy immediately.

category
  Zend
copyright
  Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)
license
  New BSD License
package
  Zend_Validate
version
  $Id: Hostname.php 24307 2011-07-30 02:13:14Z adamlundrigan $

## \Zend_Validate_Hostname
jump to top

Please note there are two standalone test scripts for testing IDN characters due to problems with file encoding.

The first is tests/Zend/Validate/HostnameTestStandalone.php which is designed to be run on the command line.

The second is tests/Zend/Validate/HostnameTestForm.php which is designed to be run via HTML to allow users to test entering UTF-8 characters in a form.

Extends from
  \Zend_Validate_Abstract
category
  Zend
copyright
  Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)
license
  New BSD License
package
  Zend_Validate

### Constants

`CANNOT_DECODE_PUNYCODE = 'hostnameCannotDecodePunycode'`

`INVALID = 'hostnameInvalid'`

`INVALID_DASH = 'hostnameDashCharacter'`

`INVALID_HOSTNAME = 'hostnameInvalidHostname'`

`INVALID_HOSTNAME_SCHEMA = 'hostnameInvalidHostnameSchema'`

`INVALID_LOCAL_NAME = 'hostnameInvalidLocalName'`

`INVALID_URI = 'hostnameInvalidUri'`

`IP_ADDRESS_NOT_ALLOWED = 'hostnameIpAddressNotAllowed'`

`LOCAL_NAME_NOT_ALLOWED = 'hostnameLocalNameNotAllowed'`

`UNDECIPHERABLE_TLD = 'hostnameUndecipherableTld'`

`UNKNOWN_TLD = 'hostnameUnknownTld'`

`ALLOW_DNS = '1'`

Allows Internet domain names (e.g., example.com)

`ALLOW_IP = '2'`

Allows IP addresses

`ALLOW_LOCAL = '4'`

Allows local network names (e.g., localhost, www.localdomain)

`ALLOW_URI = '8'`

Allows all types of hostnames

`ALLOW_ALL = '15'`

Allows all types of hostnames

### Properties

`$_idnLength= 'array'`
Default value `array` Details

Type

`array $_messageTemplates= 'array'`

Validation failure message template definitions

Default value `array` Details

Type
  array

`array $_messageVariables= 'array'`

Additional variables available for validation failure messages

Default value `array` Details

Type
  array

`$_options= 'array'`
Default value `array` Details

Type

`string $_tld= ''`

Details

Type
  string

`array $_validIdns= 'array'`

Array for valid Idns

Default value `array` Details

Type
  array
see
  \http://www.iana.org/domains/idn-tables/

`array $_validTlds= 'array'`

Array of valid top-level-domains

Default value `array` Details

Type
  array
see
  \ftp://data.iana.org/TLD/tlds-alpha-by-domain.txt
see
  \http://www.iana.org/domains/root/db/

### Methods

`__construct( $options = array ) : void`

Sets validator options

Parameters

Name | Type | Description
--- | --- | ---
$options |  |

Details

see
  \http://www.iana.org/cctld/specifications-policies-cctlds-01apr02.htm

`__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()
Parameters

Name | Type | Description
--- | --- | ---
$property | string |

Returns

Type | Description
--- | ---
mixed |

Throws

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.

Parameters

Name | Type | Description
--- | --- | ---
$messageKey | string |
$value | string |

Returns

Type | Description
--- | ---
string |

`_error( string $messageKey, string $value = null ) : void`

Inherited from: \Zend_Validate_Abstract::_error()
Parameters

Name | Type | Description
--- | --- | ---
$messageKey | string |
$value | string | OPTIONAL

`_setValue( mixed $value ) : void`

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 |

`decodePunycode( string $encoded ) : string`

Decodes a punycode encoded string to it's original utf8 string In case of a decoding failure the original string is returned

Parameters

Name | Type | Description
--- | --- | ---
$encoded | string | Punycode encoded string to decode

Returns

Type | Description
--- | ---
string |

`getAllow( ) : integer`

Returns the allow option

Returns

Type | Description
--- | ---
integer |

`getDefaultTranslator( ) : \Zend_Translate_Adapter|null`
static

Get default translation object for all validate objects

Inherited from: \Zend_Validate_Abstract::getDefaultTranslator()
Returns

Type | Description
--- | ---
\Zend_Translate_Adapternull |

`getErrors( ) : array`

Returns array of validation failure message codes

Inherited from: \Zend_Validate_Abstract::getErrors()
Returns

Type | Description
--- | ---
array |

Details

deprecated
  Since 1.5.0

`getIpValidator( ) : \Zend_Validate_Ip`

Returns the set ip validator

Returns

Type | Description
--- | ---
\Zend_Validate_Ip |

`getMessageLength( ) : integer`
static

Returns the maximum allowed message length

Inherited from: \Zend_Validate_Abstract::getMessageLength()
Returns

Type | Description
--- | ---
integer |

`getMessageTemplates( ) : array`

Returns the message templates from the validator

Inherited from: \Zend_Validate_Abstract::getMessageTemplates()
Returns

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()
Returns

Type | Description
--- | ---
array |

`getMessages( ) : array`

Returns array of validation failure messages

Inherited from: \Zend_Validate_Abstract::getMessages()

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 |

`getObscureValue( ) : bool`

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

Inherited from: \Zend_Validate_Abstract::getObscureValue()
Returns

Type | Description
--- | ---
bool |

`getOptions( ) : array`

Returns all set options

Returns

Type | Description
--- | ---
array |

`getTranslator( ) : \Zend_Translate_Adapter|null`

Return translation object

Inherited from: \Zend_Validate_Abstract::getTranslator()
Returns

Type | Description
--- | ---
\Zend_Translate_Adapternull |

`getValidateIdn( ) : boolean`

Returns the set idn option

Returns

Type | Description
--- | ---
boolean |

`getValidateTld( ) : boolean`

Returns the set tld option

Returns

Type | Description
--- | ---
boolean |

`hasDefaultTranslator( ) : boolean`
static

Is there a default translation object set?

Inherited from: \Zend_Validate_Abstract::hasDefaultTranslator()
Returns

Type | Description
--- | ---
boolean |

`hasTranslator( ) : bool`

Does this validator have its own specific translator?

Inherited from: \Zend_Validate_Abstract::hasTranslator()
Returns

Type | Description
--- | ---
bool |

`isValid( string $value ) : boolean`

Defined by Zend_Validate_Interface

Returns true if and only if the $value is a valid hostname with respect to the current allow option

Parameters

Name | Type | Description
--- | --- | ---
$value | string |

Returns

Type | Description
--- | ---
boolean |

Throws

Exception | Description
--- | ---
\Zend_Validate_Exception | if a fatal error occurs for validation process

`setAllow( integer $allow ) : \Zend_Validate_Hostname`

Sets the allow option

Parameters

Name | Type | Description
--- | --- | ---
$allow | integer |

Returns

Type | Description
--- | ---
\Zend_Validate_Hostname | Provides a fluent interface

`setDefaultTranslator( \Zend_Translate|\Zend_Translate_Adapter|null $translator = null ) : void`
static

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 |

`setDisableTranslator( bool $flag ) : \Zend_Validate_Abstract`

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 |

`setIpValidator( \Zend_Validate_Ip $ipValidator = null ) : \void;`

Parameters

Name | Type | Description
--- | --- | ---
$ipValidator | \Zend_Validate_Ip | OPTIONAL

Returns

Type | Description
--- | ---
\void; |

`setMessage( string $messageString, string $messageKey = null ) : \Zend_Validate_Abstract`

Sets the validation failure message template for a particular key

Inherited from: \Zend_Validate_Abstract::setMessage()
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 |

`setMessageLength( integer $length ) : void`
static

Sets the maximum allowed message length

Inherited from: \Zend_Validate_Abstract::setMessageLength()
Parameters

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()
Parameters

Name | Type | Description
--- | --- | ---
$messages | array |

Returns

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()
Parameters

Name | Type | Description
--- | --- | ---
$flag | bool |

Returns

Type | Description
--- | ---
\Zend_Validate_Abstract |

`setOptions( array $options ) : \Zend_Validate_Hostname`

Sets the options for this validator

Parameters

Name | Type | Description
--- | --- | ---
$options | array |

Returns

Type | Description
--- | ---
\Zend_Validate_Hostname |

`setTranslator( \Zend_Translate|\Zend_Translate_Adapter|null $translator = null ) : \Zend_Validate_Abstract`

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 |

`setValidateIdn( boolean $allowed ) : void`

Set whether IDN domains are validated

This only applies when DNS hostnames are validated

Parameters

Name | Type | Description
--- | --- | ---
$allowed | boolean | Set allowed to true to validate IDNs, and false to not validate them

`setValidateTld( boolean $allowed ) : void`

Set whether the TLD element of a hostname is validated

This only applies when DNS hostnames are validated

Parameters

Name | Type | Description
--- | --- | ---
$allowed | boolean | Set allowed to true to validate TLDs, and false to not validate them

`translatorIsDisabled( ) : bool`

Is translation disabled?

Inherited from: \Zend_Validate_Abstract::translatorIsDisabled()
Returns

Type | Description
--- | ---
bool |

Documentation was generated by DocBlox 0.13.3.