2013-02-06 10 views
5

Ich habe eine übergeordnete Entität, die über mehrere untergeordnete Entitäten verfügt, die ihre Methoden erben. Wenn die Zeit gekommen ist, Formulare zu validieren, habe ich keine Ahnung, wie man die Validierungsbeschränkungen der Elternfelder nicht wiederholt. HierSymfony2 Validierungsvererbung

ist ein Code:

#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'} 

Wie Sie sehen können, der Name Eigenschaft kommt wieder und wieder in das Kind Zwang. Gibt es eine Möglichkeit, die Parent-Constraint direkt in die Childs-One einzuschließen, so dass ich die Änderungen der Parent-Constraints nicht wiederholen muss?

Vielen Dank im Voraus!

+1

Haben Sie einen Weg finden, um Ihr Problem zu lösen? – yokoloko

Antwort

0

Sorry Yokoloko ich vergesse manchmal, Lösungen zu geben. Hier ist, was ich getan habe:

Ich habe eine Constraint-Validierung für die Eltern erstellt, so dass ich nicht den Code jedes Mal reproduzieren muss, wenn ich ein Kind erstellen. Daher konzentriere ich mich bei Bedarf nur auf Kinderfelder.

Hier ist, was inspiriert mich http://symfony.com/doc/master/cookbook/validation/custom_constraint.html

Lassen Sie mich wissen, wenn Sie weitere Details benötigen