我是Symfony的新手,我想使用choiceType
构建一个选择选项。
因此,我将此代码添加到buildForm
方法中:
$builder->add('applications', ChoiceType::class, [
'choices' => [
'-- Choisir --' => NULL,
'Admin' => '2',
'Super' => '1',
'visiteur' => '10',
'admin local' => '98',
'partenaire gestionnaire' => '16',
'admin national' => '15',
'soutien' => '11',
'exploitant' => '12',
'moe' => '99',
]
]);
但是,当我检查HTML代码时,我没有正确的数字:
<select id="user_applications" name="user[applications]" class="form-control">
<option value="0" selected="selected">-- Choisir --</option>
<option value="1">Admin</option>
<option value="2">Super</option>
<option value="3">visiteur</option>
<option value="4">admin local</option>
<option value="5">partenaire gestionnaire</option>
<option value="6">admin national</option>
<option value="7">soutien</option>
<option value="8">exploitant</option>
<option value="9">moe</option>
</select>
发布于 2021-12-28 21:58:44
要在look的答案中添加一些上下文:如果您查看ChoiceType文档,您可以看到该类型允许您定义一个自定义占位符。尝试将代码更改为:
$builder->add('applications', ChoiceType::class, [
'placeholder' => '-- Choisir --',
'choices' => [
'Admin' => '2',
'Super' => '1',
'visiteur' => '10',
'admin local' => '98',
'partenaire gestionnaire' => '16',
'admin national' => '15',
'soutien' => '11',
'exploitant' => '12',
'moe' => '99',
]
])
发布于 2021-12-28 13:56:59
您需要删除'-- Choisir --‘=> NULL,通过另一个值,您不能使用空值。
如果值为空或相似,则symfony将所有值替换为整数。
最佳实践是在您的情况下使用占位符属性。
https://stackoverflow.com/questions/70506932
复制相似问题