Я создаю приложение 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 таким образом, чтобы он выдавал только одну ошибку недействительного адреса электронной почты? Под «настроить» я имею в виду, не расширяя класс и не переопределяя логику своей собственной.
ТИА.