这是从文档中获取的示例:
import play.api.data._
import play.api.data.Forms._
case class User(name: String, age: Int)
val userForm = Form(
mapping(
"name" -> text,
"age" -> number
)(User.apply)(User.unapply)
)
val anyData = Map("name" -> "bob", "age" -> "18")
val user: User = userForm.bind(anyData).get
什么是Map实例(名为anyData)在这里做什么?我的意思是......它是否用作为用户提供默认值的方法(如果表单完成的映射失败)?还是有其他目的?
答案 0 :(得分:1)
anyData只显示如何填充Map以便userForm处理并返回带有名称和年龄的结果值tuple(String,Int)。
表单从Map生成一个元组,这些行只显示如何操作。
val anyData = Map("name" -> "bob", "age" -> "18")
val user: User = userForm.bind(anyData).get
在实际应用程序中,您将通过执行以下内容从请求中隐式获取映射,该请求包含HTML表单中填充的数据:
val user: User = loginForm.bindFromRequest.get