Раньше мне приходилось делать специальный валидатор для этого:
/**
* The standard email address validator with a single, simple message
*/
class App_Validate_EmailAddressSimpleMessage extends Zend_Validate_EmailAddress
{
const COMMON_MESSAGE = 'Invalid email address';
protected $_messageTemplates = array(
self::INVALID => self::COMMON_MESSAGE,
self::INVALID_FORMAT => self::COMMON_MESSAGE,
self::INVALID_HOSTNAME => self::COMMON_MESSAGE,
self::INVALID_MX_RECORD => self::COMMON_MESSAGE,
self::INVALID_SEGMENT => self::COMMON_MESSAGE,
self::DOT_ATOM => self::COMMON_MESSAGE,
self::QUOTED_STRING => self::COMMON_MESSAGE,
self::INVALID_LOCAL_PART => self::COMMON_MESSAGE,
self::LENGTH_EXCEEDED => self::COMMON_MESSAGE,
);
}
Затем вызывается с помощью:
$email->addValidator(new App_Validate_EmailAddressSimpleMessage());
Если вы просто хотите использовать тот же синтаксис, что и обычно:
$email->addValidator('EmailAddress');
но если он использует этот валидатор, тогда вы можете изменить имя класса / имени файла с EmailAddressSimpleMessage
на просто EmailAddress
и зарегистрировать префикс App_Validate_
с формой / элементами.
Еще лучше, вероятно, позволить этому классу принимать необязательный параметр конструктора для сообщения, которое вы хотите, но в то время я шел быстро и грязно.