我正在构建一个ZendFramework应用程序,其中有一个登录表单,要求输入电子邮件地址和密码。在尝试登录之前验证电子邮件地址似乎是有意义的,因为无效的电子邮件地址永远不会导致有效的登录尝试。Zend_Validate_EmailAddress似乎是正确的选择,但我遇到了一个问题,它生成了多个错误(代码后面有问题)。
我的表单目前如下:
在控制器中,我直接将表单传递到视图中:
目前的结果大致如下:
我想知道的是:是否可以配置Zend
我的表单目前如下:
//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,使其仅生成一个电子邮件无效错误? “配置”是指在不扩展类并使用自己的逻辑覆盖该类的情况下完成。谢谢。