0

これは、ドキュメントから取得した例です。

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 という名前) はここで何をしているのでしょうか? つまり...ユーザーにデフォルト値を提供する手段として使用されますか(フォームによるマッピングが失敗した場合)? それとも他の目的がありますか?

4

1 に答える 1

1

anyData は、userForm によって処理され、名前と年齢を含む結果値のタプル (String,Int) を返すために Map がどのように満たされなければならないかを示しています。

フォームはマップからタプルを生成し、これらの行はその方法を示しています。

val anyData = Map("name" -> "bob", "age" -> "18")
val user: User = userForm.bind(anyData).get

実際のアプリケーションでは、次のコマンドを実行して、HTML フォームに入力されたデータを含むリクエストから暗黙的にマップを取得します。

val user: User = loginForm.bindFromRequest.get
于 2013-09-19T20:40:50.060 に答える