Я должен изменить все стандартное сообщение об ошибке на своем сообщении в Zend_Element_Text, когда я использую блок проверки допустимости ('EmailAddress') этот блок проверки допустимости плоскодонки несколько сообщений differnt.
Когда я установил опции setErrorMessage ('некоторый мой текст ошибки') он представляет шоу в виде строки на любой ошибке несколько раз.
ошибка похожа
Что лучший способ решить эту проблему? версия 1.10.3 ZF
Следующее должно покрыть все сообщения об ошибках для Zend_Validate_EmailAddress
$emailValidator = new Zend_Validate_EmailAddress();
$emailValidator->setMessages(
array(
Zend_Validate_EmailAddress::INVALID => 'Please enter in a valid email address in the format user@domain.co.uk',
Zend_Validate_EmailAddress::INVALID_FORMAT => 'Error with format',
Zend_Validate_EmailAddress::INVALID_HOSTNAME => 'Error with hostname',
Zend_Validate_EmailAddress::INVALID_LOCAL_PART => 'Error with Local Part',
Zend_Validate_EmailAddress::INVALID_MX_RECORD => 'Error with MX record',
Zend_Validate_EmailAddress::INVALID_SEGMENT => 'Error with Segment'
)
);
Попробуйте использовать это и посмотрите, появляются ли эти сообщения об ошибках. Надеюсь, вы сможете настроить их и получить правильные сообщения о проверке.
@Alistair, не работает ваше предложение.
// Email
$email = new Zend_Form_Element_Text('email');
$notempty = new Zend_Validate_NotEmpty();
$email_validate = new Zend_Validate_EmailAddress();
$email_validate->setMessages(
array(
Zend_Validate_EmailAddress::INVALID => 'Please enter in a valid email address in the format user@domain.co.uk',
Zend_Validate_EmailAddress::INVALID_FORMAT => 'Error with format',
Zend_Validate_EmailAddress::INVALID_HOSTNAME => 'Error with hostname',
Zend_Validate_EmailAddress::INVALID_LOCAL_PART => 'Error with Local Part',
Zend_Validate_EmailAddress::INVALID_MX_RECORD => 'Error with MX record',
Zend_Validate_EmailAddress::INVALID_SEGMENT => 'Error with Segment'
)
);
$email->addValidator($notempty , true, $email_validate)
->setRequired(false);
// Submit
$submit = new Zend_Form_Element_Submit('submit');