在symfony2中的EventSubscriber中将表单元素标记为必需

时间:2013-02-08 17:28:14

标签: symfony-2.1 symfony-forms

我有一个名为'mediaType'的成员的实体,它告诉我从哪个其他成员中提取数据。当我构建表单来创建实体时,我将mediaType作为下拉列表,然后将两个文本字段作为其他两个成员。我想要做的是根据所选的mediaType强制要求一个或另外两个字段(如果用户选择None,则不需要强制执行。我会处理用JS隐藏字段。)

由于我在绑定后操作表单,因此我设置了一个EventSubscriber来监听PostBind事件。我的用户发射得很好,但我不知道如何根据需要标记其中一个字段。我可以得到这个领域,我可以查看是否需要它,但我只是不知道如何使它成为必需。

有办法做到这一点吗?或者有比使用EventSubscriber更好的方法吗?

1 个答案:

答案 0 :(得分:1)

您可以使用验证组http://symfony.com/doc/current/book/forms.html#book-forms-validation-groups,请参阅“基于提交的数据的群组”