Forms 自定义FormBuilderInterface Symfony 3
我在symfony上找到了FormType:Forms 自定义FormBuilderInterface Symfony 3,forms,symfony,Forms,Symfony,我在symfony上找到了FormType: public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('statement', TextType::class, array( 'label' => 'Enunciado:', "required"=>"required", "attr"
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('statement', TextType::class, array(
'label' => 'Enunciado:',
"required"=>"required", "attr"=>array(
"class" => "form-name form-control"
)))
->add('period', ChoiceType::class, array(
'label' => 'Periodo:',
'choices' => array(
'2017-2018' => "1718",
'2018-1029' => "1819"
),
"required"=>"required", "attr"=>array(
"class" => "form-name form-control"
)))
->add('questiontype', ChoiceType::class, array(
'label' => 'Tipo de pregunta:',
'choices' => array(
'Test' => "test",
'Relacion' => "relacion",
'Desarrolo' => "desarrollo",
'Verdadero-Falso' => "truefalse",
), "attr"=>array(
"class" => "form-password form-control"
)))
->add('image', FileType::class, array('label' => 'Añadir imagen'))
->add('Registrar',SubmitType::class, array("attr"=>array(
"class" => "form-submit btn btn-success"
)));
}
我想让文件类型输入可见,以防他们选择“Desarro”
有什么办法吗?
我在考虑使用一些javascript,但如果我使用FormBuilder,我不知道该怎么做
有什么帮助吗?谢谢。是的,您可以查看此官方文件我认为您应该使用两种形式的事件:
- 预设数据:如果问题类型已设置为“Desarro”,则显示您的
文件类型
- PostSubmit:用于在表单提交后添加
文件类型
$builder->addEventSubscriber(new AddFileFieldPreSetDataSubscriber());
$builder->get('questiontype')->addEventSubscriber(new AddFileFieldPostSubmitSubscriber());