2010-10-02 13 views
5

Se si dispone di un elemento di modulo a cui sono associati più validatori (3 in questo esempio), come utilizzare addErrorMessage per creare messaggi di errore personalizzati quando ogni convalida univoca non riesce. C'è un modo per aggiungere un messaggio personalizzato per ogni validatore?Validatori di Zend e messaggi di errore: addValidator e addErrorMessage

$element = new Zend_Form_Element_Text()... 
$element->.... 
     ->addValidator(...) 
     ->addValidator(...) 
     ->addValidator(...) 
     ->addErrorMessage() 

risposta

11

In genere è fatto per il messaggio di errore di convalida, non per validatore ...

$element->setErrorMessages(array(Zend_Validate_...::CONSTANT => 'New Message')); 

Ma io spesso preferisco ignorare tutti gli errori di un elemento ad un singolo

$element->setErrorMessages(array('Single Error')); 

o , se ne ho bisogno per validatore, funziona ...

$validator->setMessages('string error') 

dovrebbe sostituire tutti gli errori di un validatore in un singolo messaggio. Non ho potuto trovare questo documentato da nessuna parte, ma funziona per me. Per questo motivo, potrebbe non funzionare per tutte le versioni?

Per me, la gestione dei messaggi di errore è un po 'caotica a meno che non si voglia ignorare ogni possibile messaggio di errore, ma si spera che una di queste soluzioni funzioni per voi.

Cheers

+0

Ho alcuni errori aggiuntivi ma uso la prima convalida non funziona –

6

Aggiungi il tuo messaggio insieme al validatore come di seguito. Esempio:

->addValidator('StringLength', false, array(0,255,'messages'=>'Cannot be more than 255 chars')) 

->addValidator('NotEmpty', true, array('messages'=>'Cannot be empty')) 
2

Aggiungi il tuo messaggio come questo

-> addValidator ('Alpha', vero, array (= 'Messaggi'> array ('notAlpha' => "Si prega di inserire solo carattere alfabetico in Nome prodotto
")));

Aggiungi messaggio validatore secondo la vostra stringa di errore

+0

Mi piace la gestione dei messaggi specificata tramite 'notAlpha'. puoi guidarmi dove posso trovare più di quegli identificatori per il resto dei validatori? grazie comunque: ^) – Katia

+0

Trovate questi varibale del messaggio di errore dal suo file di validazione. vai al percorso sottostante progetto/libreria/Zend/Validate seleziona la tua regola di convalida, Qui trovi l'elenco di "const" che è per messaggio di errore –

0

addErrorMessage ('il tuo messaggio personalizzato'); È anche il modo più semplice per stampare il messaggio personalizzato.

L'addErrorMessage è definita all'interno Libraray/Zend/Form/Elements.php

Speranza che aiuta !!

Problemi correlati