如何获得“choice”字段和验证器的有效选项列表?

时间:2015-04-27 10:44:13

标签: symfony symfony-forms

choice验证程序和choice字段类型都接受一系列选择。但是,他们每个人都以不同的方式行事:

选择验证器

choice验证器只是检查一维数组是否包含值(类似in_array())。因此,我应该从设置为此验证器的callback的函数返回的数组应该是这样的:

[
    'Open',
    'Closed'
]

选择字段类型

此字段类型以不同的方式期望值。我需要将选项作为键值对传递,键成为值,值变为每个innerText元素的select

[
    'Open' => 'Open',
    'Closed' => 'Closed'
]

我的问题

现在,我的问题是,如何创建一个回调函数来创建这两个值(choice validatorchoice field type)可以按原样使用的值?

更新

如果你看一下Supplying the Choices with a Callback Function提供的例子,这就是我想要做的。除此之外,如示例中提供的回调设置将我的下拉列表的值设置为01等,而不是malefemale

1 个答案:

答案 0 :(得分:0)

你不需要这样做。 choice字段" autovalidates"他自己:如果你试图发送一个未包含在字段choices中的值,它将触发验证错误,而不需要特定的验证器。

当字段不是choice

类型的字段时,应使用choice验证程序