Hello, I try to validate email address with wrong hostname([EMAIL PROTECTED]) and the validator returns following errors:
array(3) { ["emailAddressInvalidHostname"] => string(63) "'www.ww' is not a valid hostname for email address '[EMAIL PROTECTED]'" [0] => string(77) "'www.ww' appears to be a DNS hostname but cannot match TLD against known list" [1] => string(83) "'www.ww' appears to be a local network name but local network names are not allowed" } code I used: $validators = new Zend_Validate(); $validators->addValidator(new Zend_Validate_EmailAddress()); $validators->isValid('[EMAIL PROTECTED]'); Zend_Debug::dump($validators->getErrors()); the errors codes are missing. The bug is in class Zend_Validate because it gets the error codes from error messages keys and not from $validator->getErrors() $messages = $validator->getMessages(); $this->_messages = array_merge($this->_messages, $messages); $this->_errors = array_merge($this->_errors, array_keys($messages)); or in class Zend_Validate_EmailAddress: // Get messages and errors from hostnameValidator foreach ($this->hostnameValidator->getMessages() as $message) { $this->_messages[] = $message; } where the validator doesn't set the error messages keys and IMO it should look like this: // Get messages and errors from hostnameValidator foreach ($this->hostnameValidator->getMessages() as $error => $message) { $this->_messages[$error] = $message; } or in both classes ;-) -- Pagarbiai, Vladas Diržys Tel.: +370 620 69020 www.dirzys.com