Мое приложение управляет семьями. Одно семейство состоит из 1 или N членов.
Я хочу, чтобы добавить одного родителя или двух и 0 или N детей. Детская часть отлично работает, но мне трудно справляться с 1 или 2 родителями.
Вот мой тип формы семьи:
$builder
... many attributes
->add('parent1', MemberType::class)
->add('parent2', MemberType::class)
Родительский и родительский 2 - это ассоциация OneToOne (от семейства к члену). Тип формы участника:
$builder
->add('firstName', TextType::class, [
'label' => 'Prénom',
'constraints' => array(
new NotBlank(),
new Length(array('max' => 150))
)
])
... many other attributes with choices or not
Я думал о флажке, который серым цветом полей родителя 2, если он не отмечен, но все значения членов требуются. Из-за этого SF2 не подтверждает мою форму.
Если я установил обязательный = > false для этих полей (в построителе), тогда у пользователя будет возможность проверить, не заполняя все (что мне не нужно).
Я хотел бы создать следующий процесс:
- Либо мы заполняем все поля члена2, чтобы проверить форму
- Либо мы проверяем флажок (одиночный родительский элемент), и поле не требуется, и мой последний член2 будет нулевым (или другим решением)