2013-02-06 14 views
5

Ho un'entità padre che ha più entità figlio che ereditano i suoi metodi. Quando arriva il momento di convalidare i moduli non ho idea di come NON ripetere i vincoli di validazione di ogni campo padre.ereditarietà convalida symfony2

Ecco il codice:

#validation.yml 
Dir\Entity\Parent: 
    properties: 
     name: 
      - NotBlank: {message: 'name.empty'} 

Dir\Entity\Child1: 
    properties: 
     name: 
      - NotBlank: {message: 'name.empty'} 
     age: 
      - NotBlank: {message: 'age.empty'} 

Dir\Entity\Child2: 
    properties: 
     name: 
      - NotBlank: {message: 'name.empty'} 
     title: 
      - NotBlank: {message: 'title.empty'} 

Come si può vedere, la proprietà del nome sta tornando di nuovo e di nuovo nel vincolo del bambino. C'è un modo per includere il vincolo genitore direttamente nel childs in modo da non dover ripetere le modifiche dei vincoli genitore?

Grazie in anticipo!

+1

Hai trovato un modo per risolvere il problema? – yokoloko

risposta

0

Mi dispiace Yokoloko a volte mi dimentico di dare soluzioni. Ecco cosa ho fatto:

Ho creato una convalida di convalida per il genitore in modo da non dover riprodurre il codice ogni volta che creo un figlio. Quindi mi concentro solo sui campi dei bambini quando necessario.

Ecco cosa mi ha spinto http://symfony.com/doc/master/cookbook/validation/custom_constraint.html

Fatemi sapere se avete bisogno di ulteriori dettagli

Problemi correlati