我正在使用Symfony 3.4,并且在尝试将必需的HTML5属性添加到“ fournisseur”字段时,我没有在HTML中获得它。
$builder
->add('fournisseur', EntityType::class, array(
'class' => 'AppBundle:Fournisseur',
'choice_label' => 'name',
//'empty_data' => null,
'required' => true,
))
答案 0 :(得分:2)
$builder
->add('fournisseur', EntityType::class, array(
'class' => 'AppBundle:Fournisseur',
'choice_label' => 'name',
//'empty_data' => null,
'attr'=>[
'required'=>'required'
],
))
答案 1 :(得分:1)
您尚未设置value-of
和multiple
,这些选项默认为expanded
,这意味着您正在尝试渲染false
元素。
默认情况下,当select
选项设置为true时,Symfony不会向required
元素添加select
属性,而是不会在其中渲染空的required
您的option
元素。
如果您想向select
元素中添加一个空的option
和required
属性,则应在表单中添加一个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}}属性。