Index: tests/Zend/Validate/EmailAddressTest.php =================================================================== --- tests/Zend/Validate/EmailAddressTest.php (revision 24811) +++ tests/Zend/Validate/EmailAddressTest.php (working copy) @@ -518,6 +518,22 @@ $messages = $this->_validator->getMessageTemplates(); $this->assertEquals('TestMessage', $messages[Zend_Validate_EmailAddress::INVALID]); } + + /** + * Testing setMessage for all messages + * + * @group ZF-10690 + */ + public function testSetMultipleMessages() + { + $messages = $this->_validator->getMessageTemplates(); + $this->assertNotEquals('TestMessage', $messages[Zend_Validate_EmailAddress::INVALID]); + $this->_validator->setMessage('TestMessage'); + $messages = $this->_validator->getMessageTemplates(); + $this->assertEquals('TestMessage', $messages[Zend_Validate_EmailAddress::INVALID]); + $this->assertEquals('TestMessage', $messages[Zend_Validate_EmailAddress::INVALID_FORMAT]); + $this->assertEquals('TestMessage', $messages[Zend_Validate_EmailAddress::DOT_ATOM]); + } /** * Testing validateMxSupported Index: library/Zend/Validate/EmailAddress.php =================================================================== --- library/Zend/Validate/EmailAddress.php (revision 24811) +++ library/Zend/Validate/EmailAddress.php (working copy) @@ -207,17 +207,17 @@ */ public function setMessage($messageString, $messageKey = null) { - $messageKeys = $messageKey; if ($messageKey === null) { - $keys = array_keys($this->_messageTemplates); - $messageKeys = current($keys); + $this->_options['hostname']->setMessage($messageString); + parent::setMessage($messageString); + return $this; } - if (!isset($this->_messageTemplates[$messageKeys])) { + if (!isset($this->_messageTemplates[$messageKey])) { $this->_options['hostname']->setMessage($messageString, $messageKey); } - $this->_messageTemplates[$messageKeys] = $messageString; + $this->_messageTemplates[$messageKey] = $messageString; return $this; }