"Invalid type given, value should be a string", self::NOT_IP_ADDRESS => "'%value%' does not appear to be a valid IP address" ); /** * Defined by Zend_Validate_Interface * * Returns true if and only if $value is a valid IP address * * @param mixed $value * @return boolean */ public function isValid($value) { if (!is_string($value)) { $this->_error(self::INVALID); return false; } $this->_setValue($value); if ((ip2long($value) === false) || (long2ip(ip2long($value)) !== $value)) { if (!function_exists('inet_pton')) { $this->_error(self::NOT_IP_ADDRESS); return false; } else if ((@inet_pton($value) === false) ||(inet_ntop(@inet_pton($value)) !== $value)) { $this->_error(self::NOT_IP_ADDRESS); return false; } } return true; } }