У меня есть форма Symfony, сопоставленная с сущностью, но есть три необязательных значения. Каждое из этих значений имеет связанный с ним флажок, и эти флажки фактически не сопоставляются с сущностью.Symfony 2 Form: установить поле, которое требуется в зависимости от флажка не в объекте
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('checkbox1', 'checkbox', array(
'mapped' => false,
'label_render' => false,
'required' => false,
))
->add('value1', 'text', array(
'required' => false,
))
->add('checkbox2', 'checkbox', array(
'mapped' => false,
'label_render' => false,
'required' => false,
))
->add('value2', 'text', array(
'required' => false,
))
->add('checkbox3', 'checkbox', array(
'mapped' => false,
'label_render' => false,
'required' => false,
))
->add('value3', 'text', array(
'required' => false,
))
;
}
Я хочу, чтобы текстовые поля были необходимы, если установлен соответствующий флажок. Я знаю о проверках обратных вызовов внутри объекта, но здесь поля флажка фактически не отображаются, поэтому мне нужно что-то на уровне формы. Я видел что-то об обратных вызовах валидации групп внутри метода setDefaultOptions, но все примеры слишком тесно связаны с реальными объектами. Любая помощь?