У меня есть объединенный тип формы, который содержит несколько типов форм.
Обязательные поля из первой формы (callType) являются обязательными, и я хочу, чтобы, если одно из обязательных полей заполнено, другие должны быть заполнены.
<?php
class MergedFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('callForm', CallType::class, $call);
$builder->add('emailForm', EmailSendType::class);
$builder->add('reminderForm', RappelType::class);
}
}
<?php
class EmailSendType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('email', EmailType::class, [
'label' => 'form.email',
])
->add('object', TextType::class, [
'label' => 'form.object',
])
->add('document', FileType::class, [
'label' => 'form.document',
'required' => false,
])
->add('content', TextareaType::class, [
'label' => 'form.content',
]);
}
}
Я хочу использовать автоматическую проверку от symfony, я не проверяю файл контроллера.
Есть ли способ этого добиться?




вы можете просто выполнить проверку формы, но если вы говорите о динамической проверке, вам может потребоваться сделать это с помощью JavaScript.
if ($form->isSubmitted() && $form->isValid()) { ... }
Если поля не проверены статически, форма больше не будет отправляться.
Итак, в Sf нет никакого трюка. Спасибо