У меня есть массив изображений, которые я хочу добавить / обновить / удалить в форме Symfony 4.
Чтобы создать форму для этих изображений, я использую пользовательскую формус FileType в нем:
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder
->add('image', FileType::class, array(
'data_class' => null
))
;
}
Затем я использую CollectionType, заполненный экземплярами формы, описанной выше, для визуализации формы для каждого из изображений в массиве с помощью allow_add и allow_delete.поэтому я могу добавлять / удалять строки с помощью JavaScript.
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder->add('imagesets', CollectionType::class, array(
'entry_type' => ImageType::class,
'entry_options' => array('label' => false),
'allow_add' => true,
'allow_delete' => true
));
}
Это прекрасно работает для добавления новых изображений, но при обновлении существующих изображений элемент FileType не требуется, он должен быть необходим только для новогостроки.
Вопрос: Как я могу сделать FileType НЕ обязательным для существующих изображений, но обязательным для всех новых строк?
(Обратите внимание, я буду передавать обычныемассивы для этих объектов формы, а не сущностей Doctrine.)