Sto costruendo un'applicazione ZendFramework che come modulo di accesso richiede un indirizzo e-mail e una password: sembrava aver senso convalidare l'indirizzo e-mail prima di colpire il database con il tentativo di accesso, poiché un'e-mail non valida non porterebbe mai a un valido colpire. Zend_Validate_EmailAddress sembrava la strada giusta da percorrere, ma ho riscontrato un problema con la generazione di errori multipli (domanda in basso, dopo il codice).In Zend_Form, come evitare che Zend_Validate_Email generi più errori?
La mia forma attualmente ha il seguente
//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)'
)
))),
));
Nel controllore passo direttamente il modulo nella vista:
// WPMail_AuthController::loginAction()
$this->view->form = $form;
E in vista, è direttamente echo'd:
// views/scripts/auth/login.phtml
<?php echo $this->form ?>
Il risultato è attualmente simile al seguente:
Quello che voglio sapere è: È possibile configurare Zend _
Convalidare l'indirizzo Email _
in modo tale da produrre solo un singolo errore e-mail non valido? Con "configure" intendo, senza estendere la classe e ignorando la logica con la mia.
TIA.
Meraviglioso, grazie! In realtà mi sono imbattuto in questo, ma in qualche modo ho pensato che l'aggiunta di un messaggio di errore avrebbe invalidato il modulo (come nel fatto che è parte di quando si esegue la propria validazione) .. felice di vedere che è così semplice! – kander
Si può diventare confuso .. $ basata su posta elettronica> addError ($ message) fisserà un errore e contrassegnare come non valida, ma basata su posta elettronica $> addErrorMessage ($ message) appare solo per impostare il messaggio, che ignora quelli di default, e doesn 'impostare un errore! – simonrjones
+1, grazie per il consiglio di conoscenza – Ish