2013-02-06 13 views
5

Mam jedną jednostkę nadrzędną, która ma wiele obiektów podrzędnych, które dziedziczą jej metody. Kiedy przychodzi czas na sprawdzanie formularzy, nie mam pojęcia, jak NIE powtarzać ograniczeń sprawdzania poprawności pól macierzystych.dziedziczenie walidacji symfony2

Oto kod:

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

Jak widać, właściwość nazwa wraca ponownie i ponownie w ograniczeniu dziecięcej. Czy istnieje sposób na włączenie ograniczenia nadrzędnego bezpośrednio w pliku potomnym, więc nie będę musiał powtarzać modyfikacji ograniczeń rodzica?

Z góry dziękuję!

+1

Znalazłeś sposób na rozwiązanie problemu? – yokoloko

Odpowiedz

0

Przepraszam Yokoloko, czasami zapominam o dawaniu rozwiązań. Oto, co zrobiłem:

Stworzyłem weryfikację więzi dla rodzica, więc nie będę musiał odtwarzać kodu za każdym razem, gdy tworzę dziecko. Dlatego w razie potrzeby skupiam się tylko na polach dziecka.

Oto, co zainspirowało mnie http://symfony.com/doc/master/cookbook/validation/custom_constraint.html

Daj mi znać, jeśli potrzebujesz dodatkowych informacji