如何在Symfony2表单中处理EntityChoiceList中的“other”选项?

如何在Symfony2表单中处理EntityChoiceList中的“other”选项?,第1张

概述我有一个如下所述的模型: 我还有一个表单来创建一个新产品,其中一个字段实体构建一个包含所有品牌的下拉列表. 现在,我想在此列表中添加值“Other”,以允许用户在另一个文本字段中手动指定Brand. 问题是:是否有一种干净的方法来管理这种情况(例如,在列表中添加值“Other”,这不是一个实体,并使用Symfony2表单进行表单验证)? 你可以用两种方式做到, >您可以订阅FormEvents : 我有一个如下所述的模型:

我还有一个表单来创建一个新产品,其中一个字段实体构建一个包含所有品牌的下拉列表.

现在,我想在此列表中添加值“Other”,以允许用户在另一个文本字段中手动指定Brand.

问题是:是否有一种干净的方法来管理这种情况(例如,在列表中添加值“Other”,这不是一个实体,并使用Symfony2表单进行表单验证)?

解决方法 你可以用两种方式做到,

>您可以订阅FormEvents :: BIND_CLIENT_DATA表单事件.在事件方法中,您可以从文本创建新的Brand对象,保存它并通过调用$event-> setData($data)将ID设置为表单.请参阅this食谱条目.

要么

>您可以附加数据转换器.在reversetransform方法中,您可以创建保存对象并返回其ID.见this食谱入门.

总结

以上是内存溢出为你收集整理的如何在Symfony2表单中处理EntityChoiceList中的“other”选项?全部内容,希望文章能够帮你解决如何在Symfony2表单中处理EntityChoiceList中的“other”选项?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1059046.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存