Forms 实施干式表格

Forms 实施干式表格,forms,dry,playframework-2.0,Forms,Dry,Playframework 2.0,进入游戏2.0,总的来说,被吹走了,很棒的东西 不管怎样,想知道一个人怎样才能在游戏中实现干巴巴的形式?如果查看中的创建和编辑示例,您将看到表单元素是重复的。示例表单中只有4个字段,这没什么大不了的,但是当您处理大型复杂表单和/或处理许多CRUD模型时,重复会成为一个更大的维护问题 在绑定端form.bindFromRequest和form.fillFoo上,创建/编辑操作的实现非常优雅;模板层中是否有相应的解决方案?k,下面是我为处理注册、续订场景而提出的解决方案: // views.subs

进入游戏2.0,总的来说,被吹走了,很棒的东西

不管怎样,想知道一个人怎样才能在游戏中实现干巴巴的形式?如果查看中的创建和编辑示例,您将看到表单元素是重复的。示例表单中只有4个字段,这没什么大不了的,但是当您处理大型复杂表单和/或处理许多CRUD模型时,重复会成为一个更大的维护问题


在绑定端form.bindFromRequest和form.fillFoo上,创建/编辑操作的实现非常优雅;模板层中是否有相应的解决方案?

k,下面是我为处理注册、续订场景而提出的解决方案:

// views.subscription.signup.scala.html
@(_form: Form[com.company.model.Subscription], target: play.api.mvc.Call)
@import helper._

@cart("Foobar Registration") {
  <h1>Join Foobar Today!</h1>
  @form(action = target, 'id -> "subscriptionForm", 'class -> "form-horizontal") {
    @fields(_form) // include formfields
  }
}

// views.subscription.fields.scala.html
@(_form: Form[com.company.model.Subscription])
@import helper._

@inputText(field = _form("firstName"), '_label-> "First Name*", 'class-> "required")
@inputText(field = _form("lastName"), '_label-> "Last Name*", 'class-> "required")
....  
然后,对于续费,只需创建与signup.scala.html相同的shell,但带有续费标题和标题文本

相同的原则适用于任何共享的创建/编辑表单状态