我正在尝试按照播放(https://github.com/playframework/Play20/blob/master/samples/java/forms/app/views/wizard/form1.scala.html)提供的Forms示例中的向导模式。
当字段数为静态时,此方法看起来没问题。但是,当字段是动态的时候,我该如何处理这个问题。例如如果用户可以在步骤2中创建多个配置文件,我该如何在此页面上表示它?
此外,这是否意味着我的向导的每个页面都必须知道其余页面上的所有控件,并将这些控件隐藏起来?必须有更好的方法来解决这个问题。你能帮忙吗?
答案 0 :(得分:0)
我在使用向导时遇到了类似的问题。我通过将我的数据库模型与UI模型分离来解决它。例如在DB级别,我有一个代表整车的车型。在UI层,我创建了多个代表汽车部件的模型,例如轮子,座椅,门等。
在UI向导中,我使用UI模型。因此,在任何给定的步骤中,我的向导步骤只需要知道它所操作的部件。我可以在这些模型上应用验证约束,例如@required等。如果部分表单验证成功,我将使用该信息更新数据库模型。 HTH。