我可以强制用户在Rails表单中选择自动完成吗?

时间:2013-03-27 06:35:58

标签: jquery ruby-on-rails validation autocomplete

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

2 个答案:

答案 0 :(得分:1)

这与下拉列表不同。想象一下,你在Stackoverflow中选择一个标签,这应该是类似的,尽管这并不妨碍你选择一个没人见过的标签。

使用Javascript验证肯定是可能的。

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

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

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

答案 1 :(得分:0)

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

只要观看这个有轨电视节目,你就会想出来。

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