如何根据失败的验证添加Symfony表单字段?

时间:2011-02-26 13:04:41

标签: php symfony1 symfony-forms symfony-1.4

基本上,我的模型要求对象绑定到物理位置。为此,我使用用户在文本字段中输入的关键字通过AJAX从API中提取位置,设置jQuery自动完成以在用户选择推荐给他们的有效位置时将隐藏字段设置为唯一ID。

这很好,假设用户有JavaScript并点击了某个位置。

我需要实现一个回退,即无论出于何种原因,如果在没有隐藏字段的情况下提交表单,表单应该使用可见的任何内容来查询API并提供一个选择框供用户选择来自。

的价值

我大致知道我需要添加的代码,但是我很遗憾在哪里绑定它。任何帮助都赞赏。

1 个答案:

答案 0 :(得分:0)

基本上,您必须创建一个custome小部件并使用它来代替位置表单字段。然后,您可以将javascript添加到窗口小部件呈现中。如果扩展sfWidgetChoice或等效的学说,它将默认为选择框。然后,如果启用了js,则widget的js会将该字段重写为自动完成。

请查看sfFormExtraPlugin,了解如何执行此操作的一些很好的示例。