2009-10-23 13 views
7

Sto utilizzando Zend Framework e Doctrine su un progetto e mi chiedevo se qualcuno potesse suggerire un buon modo per integrare la convalida di Doctrine con Zend_Form. Sto cercando di evitare la duplicazione del codice.Convalida Doctrine e Zend_Form

risposta

1

Se si è soddisfatti aggregando gli errori per il vostro modulo è possibile farlo nel modo seguente: - fare uno Zend_Form senza validatori - On presentare, fai un oggetto Doctrine e chiamare isValid() - Se non è valida , non archiviare, ma mostrare di nuovo il modulo con un errore

Quello che vorrei raccomandare comunque è - Scrivere sia i validatori per Zend_Form che il modello. - Scrivi Validatori per il tuo Zend_Form che prende un modello Doctrine e campo come input e quindi convalida il materiale sul tuo modello

Suppongo che quest'ultima opzione potrebbe essere una libreria molto generica, utile anche per l'inclusione in Zend Framework. È comunque noioso scriverlo nel modo giusto.

+0

Sto provando qualcosa di simile al tuo suggerimento isValid(), solo che lo sto facendo in una classe Zend_Form personalizzata che memorizza un'istanza del modello Doctrine in fase di validazione: public function isValid ($ data) { $ this-> getModel() -> fromArray ($ this-> getValues ​​()); if (! $ Model-> isValid()) { ... } Non avevo pensato di creare validatori personalizzati, cercherò di farlo anche in questo modo, grazie per il suggerimento. –

Problemi correlati