私は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を、1つの電子メール無効エラーのみを生成するように構成することは可能ですか?'configure'とは、クラスを拡張したり、ロジックを自分のものでオーバーライドしたりすることなく意味します。
TIA。