Ich habe drei Dokumente in meinem Projekt: Event, OrganizerProfile und User.Symfony3: validierte verschachtelte (optionale) Formulare
Benutzer können mehrere OrganizerProfile (es ist wie "Seiten" auf Facebook) und Ereignisse haben.
Wenn ein Benutzer ein Ereignis erstellt, kann er dem Ereignis ein "OrganizerProfile" zuweisen (Benutzer Alberto erstellt ein Ereignis für "Firma A", das "Ereignis X" genannt wird).
Um dies zu erreichen, habe ich diese Formen erstellt:
OrganizerProfileType.php
class OrganizerProfileType extends AbstractType{
public function buildForm(FormBuilderInterface $builder, array $options){
$builder
->add('email', EmailType::class)
->add('name', TextType::class)
->add('description', TextType::class, ['required' => false])
...
EventType.php
class EventType extends AbstractType {
public function buildForm(FormBuilderInterface $builder, array $options)
{
$profileChoices = ... //List of existing profiles
$builder
->add('profile_list', ChoiceType::class, [
'choices' => $profileChoices,
'required' => false,
'mapped' => false,
])
->add('profile', OrganizerProfileType::class, [
'required' => true,
])
->add('title', TextType::class, ['required' => false])
->add('description', TextType::class, ['required' => false])
...
Im Feld "profile_list" Benutzer kann ihre vorhandenen OrganizerProfiles finden. Benutzer können einen davon auswählen und ihn dem Ereignis zuweisen. ABER wenn der Benutzer kein vorhandenes Profil auswählt, muss er Informationen in das Formular "Profil" einfügen.
Ich möchte "optional" das Profilformular machen und machen es nur erforderlich, wenn die Benutzer nicht ein vorhandenes Profil auswählen.
Wie kann ich das tun? Danke
Sie können [Validierungsgruppen basierend auf den übermittelten Daten auswählen] (http://symfony.com/doc/current/form/data_based_validation.html) – Matteo