Я создаю приложение ZendFramework, которое в качестве формы входа запрашивает адрес электронной почты и пароль - казалось, что имеет смысл проверить адрес электронной почты перед тем, как войти в базу данных при попытке входа в систему, так как неверное электронное письмо никогда не приведет к действительный удар. Zend_Validate_EmailAddress выглядело как правильный путь, но у меня возникла проблема с его генерацией нескольких ошибок (вопрос внизу, после кода).
Моя форма в настоящее время имеет следующее
//WPMail_Form_Login::init()
$email = $this->addElement('text', 'email', array(
'label'=>'Email',
'required'=>true,
'filters'=>array('stringtrim'),
'validators'=>array(array('emailaddress', true, array(
'messages'=>array(
'emailAddressInvalidHostname'=>'Your email address is invalid',
'emailAddressInvalidFormat'=>'Your email address is invalid',
'...'=>'(repeat for all message templates)'
)
))),
));
В контроллере я напрямую передаю форму в виде:
// WPMail_AuthController::loginAction()
$this->view->form = $form;
И в представлении, это напрямую отражено:
// views/scripts/auth/login.phtml
<?php echo $this->form ?>
Результат в настоящее время примерно такой:
- Your email address is invalid
- 'asda!!!' does not match the expected structure for a DNS hostname
- 'asda!!!' does not appear to be a valid local network name
Я хочу знать следующее: возможно ли настроить Zend _
Validate _
EmailAddress таким образом, чтобы он выдавал только одну недействительную ошибку электронной почты? Под «настройкой» я подразумеваю, не расширяя класс и не переопределяя логику своей собственной.
ТИА.