検証エラーのあるフォームからユーザーを抽出しようとするとエラーが発生します。プレイフレームワーク2.0のエラーでフォームからオブジェクトを取得
私は私のroutes
ファイルで構成された次のルートがあります。
GET /users/:user controllers.UsersController.viewUser(user: models.User)
GET /users/:user/edit controllers.UsersController.editUser(user: models.User)
これは、この時点で結構です、と私は私のScalaのテンプレートからユーザービューへのリンクをレンダリングすることができます
routes.UsersController.viewUser(myUserObject)
を
私の問題は、私のユーザー編集フォームでmyUserObject
をForm[User]
オブジェクトから取得する必要があるということです。私は現在やっていることは次のとおりです。
routes.UsersController.viewUser(userForm.get)
userForm
にエラーがある場合the documentationに示すように、しかし、get
方法は、例外が発生します。
私は今、私が意味する、私がアップ渡したForm[User]
パラメータと一緒に、Scalaのビューに追加User
パラメータを渡して取ったアプローチ、
userEdit.render(user, userForm)
だけではなく
userEdit.render(userForm)
しかし、私は、追加のパラメータを含むより適切な解決策があるかどうかを知りたいと思います。
ありがとうございます。既存のデータでフォームを事前入力することができます
検証エラーの後、フォームは、データベースにすでに保持されている情報ではなく、ユーザーが入力した情報で埋められる必要があります。この命令は、ユーザーが入力した情報を上書きしますか? – Bustikiller
私はそうだと思いますが、フォームにエラーが含まれていると、フォームにユーザーデータを入力するだけで済みます。 'userForm.get'を行うのではなく、' userForm.fold'を見てください。この場合、ユーザーが間違ったデータを入力した場合は明示的に処理する必要があります – irundaia