在Rails中,如何确保用户以正确的顺序输入表单数据?

时间:2009-02-11 21:05:27

标签: ruby-on-rails ajax

我有一个Rails应用程序,其模型的字段是日期,这些日期是特定进程的检查点。

我想阻止用户输入第n个检查点的日期,直到他们输入第(n-1)个日期为止。

显然,我可以在模型中验证以确保没有日期丢失(并且日期按时间顺序排列)但这似乎不能令人满意。理想情况下,第n个字段在第(n-1)个字段完成之前不应在表单上可见(并且可能已经点击了“下一个”按钮。

除了用它在博客上添加评论之外,我对AJAX了解不多,但似乎它在这个问题上可能有用。我将在接下来的几天内看一下它,但如果有人能给我一些指示,我将不胜感激。

2 个答案:

答案 0 :(得分:1)

禁用或隐藏除第一个输入之外的所有输入。当用户完成每个输入时,使用Ajax调用对其进行验证,然后显示/启用下一个输入。完成所有输入后,显示/启用保存/继续按钮。

答案 1 :(得分:0)

根据您的描述,它可能是有限状态机的一个很好的用例。使用当前“状态”确定要在表单上显示的日期输入字段。

请参阅Github: rubyist/aasm