2015-03-26 2 views
2

У меня есть два объекта, «Страница» и «Разделы». У объекта «Страница» есть одно отношение к сущности «Секция».Подтвердить связанный объект, по крайней мере один

Я создаю форму с набором страниц и разделов. Я хотел бы подтвердить, что на странице есть хотя бы один раздел.

Я пробую это в моем файле y valid validation.

App\MyBundle\Entity\Page: 
    properties: 
     sections: 
      - Valid: ~ 

Существует любое ограничение, которое я могу использовать для решения этой проблемы? Или я должен написать собственный валидатор для этой проблемы?

ответ

1

Если вы хотите увидеть, что ваша страница имеет по крайней мере один Section, то вы должны увидеть, если раздел Collection больше 0.

App\MyBundle\Entity\Page: 
    properties: 
     sections: 
      - Count: { min: 1, minMessage: "You need to have at least one Section" } 

Если вы хотите увидеть, если ваши объекты Раздел действительны также то вам необходимо настроить политику проверки для Раздела сущности и форме PageType установить cascade_validation => true как:

App\MyBundle\Entity\Section: 
     properties: 
      name: 
       - NotBlank 

и ваш FormType

/** 
    * @param OptionsResolverInterface $resolver 
    */ 
    public function setDefaultOptions(OptionsResolverInterface $resolver) 
    { 
     $resolver->setDefaults(array(
      'data_class' => 'App\MyBundle\Entity\Page', 
      'cascade_validation' => true, 
     )); 
    } 
Смежные вопросы