[英]Dynamic change properties of form field in Symfony2
我有这段代码:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', ['required' => true])
->add('item', ['required' => true])
->add('isItem', ['empty_value' => true])
->sdd('submit')
;
}
其中: name和item是字符串, isItem是布尔字段。 我想基于isItem值动态更改项目字段的属性。
这可以通过使用Form Events
( 文档 )来实现。
例如,您可以像这样监听FormEvents::PRE_SUBMIT
事件:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', ['required' => true])
->add('item', ['required' => true])
->add('isItem', ['empty_value' => true])
->sdd('submit')
;
$builder->addEventListener(FormEvents::PRE_SUBMIT, array($this, 'onPreSubmit'));
}
public function onPreSubmit(FormEvent $event)
{
$data = $event->getData();
$form = $event->getForm();
$entity = $form->getData();
if ($data['isItem']) {
// do something
} else
// do something else
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.