FormType:必填属性不适用于实体类型

时间:2018-10-07 07:46:21

标签: symfony validation symfony-3.4

我正在使用Symfony 3.4,并且在尝试将必需的HTML5属性添加到“ fournisseur”字段时,我没有在HTML中获得它。

ArrivageType.php:

$builder
->add('fournisseur', EntityType::class, array(
    'class' => 'AppBundle:Fournisseur',
    'choice_label' => 'name',
    //'empty_data'  => null,
    'required' => true,
))

2 个答案:

答案 0 :(得分:2)

$builder
->add('fournisseur', EntityType::class, array(
    'class' => 'AppBundle:Fournisseur',
    'choice_label' => 'name',
    //'empty_data'  => null,
    'attr'=>[
          'required'=>'required'
            ],
))        

答案 1 :(得分:1)

您尚未设置value-ofmultiple,这些选项默认为expanded,这意味着您正在尝试渲染false元素。

默认情况下,当select选项设置为true时,Symfony不会向required元素添加select属性,而是不会在其中渲染空的required您的option元素。

如果您想向select元素中添加一个空的optionrequired属性,则应在表单中添加一个select选项:

placeholder

这将呈现一个空的$builder ->add('fournisseur', EntityType::class, array( 'class' => 'AppBundle:Fournisseur', 'choice_label' => 'name', //'empty_data' => null, 'required' => true, // not needed since it is true by default, 'placeholder' => 'Choose a fournisseur' )) ,并在您的option元素中带有“选择fournisseur”文本,以及此select的{​​{1}}属性。