В Zend_Form, как избежать Zend_Validate_Email от создания нескольких ошибок?
Я создаю приложение 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;
И в представлении, это непосредственно повторяет d:
// 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?_
утверждать_
EmailAddress таким образом, что он выдает только одну ошибку электронной почты неверно? «Настроить» Я имею в виду, не расширяя класс и не переопределяя логику своей собственной.
ТИА.