【发布时间】:2016-03-03 00:01:52
【问题描述】:
我有一个映射到实体的 Symfony 表单,但是有三个可选值。每个值都有一个与之关联的复选框,而这些复选框实际上并未映射到实体。
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 方法中看到了一些关于验证组回调的内容,但是所有示例都与实际实体密切相关。有什么帮助吗?
【问题讨论】: