0

现在,在我的 Rails 应用程序中,用户可以在表单中输入任何内容或从出现的自动完成列表中进行选择。有没有办法强制用户从列表中选择一些东西,例如验证?

4

2 回答 2

1

这与下拉列表不同。想象一下,您在 Stackoverflow 中选择了一个标签,这应该是相似的,尽管 SO 不会阻止您选择一个没人见过的奇怪标签。

使用 Javascript 验证绝对有可能。

当文本字段失去焦点时,您只需捕获该事件。现在你可以做两件事:

  1. 您的应用选择第一个匹配值作为输入。例如,用户输入“fac”,有“facebook”、“facetime”、“faceblah”的选项。如果用户不继续输入而失去焦点,则该值将最终以“faceblah”为首选。

  2. 如果用户以无效值离开焦点怎么办?说“时尚”,这个匹配没有结果。您检查输入值是否在返回的 JSON 数组中。如果不是,则会出现一条警告,显示输入无效。并且您添加了一些条件以防止实际提交此表单。

于 2013-03-27T06:58:54.143 回答
0

使用 jQuery-TokenInput 并将令牌数量限制为 1。

看看这个railscasts,你就会明白的。

http://railscasts.com/episodes/258-token-fields

于 2013-03-27T07:41:46.747 回答