2017-01-26 4 views
0

検証エラーのあるフォームからユーザーを抽出しようとするとエラーが発生します。プレイフレームワーク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) 

私の問題は、私のユーザー編集フォームでmyUserObjectForm[User]オブジェクトから取得する必要があるということです。私は現在やっていることは次のとおりです。

routes.UsersController.viewUser(userForm.get) 

userFormにエラーがある場合the documentationに示すように、しかし、get方法は、例外が発生します。

私は今、私が意味する、私がアップ渡したForm[User]パラメータと一緒に、Scalaのビューに追加Userパラメータを渡して取ったアプローチ、

userEdit.render(user, userForm) 

だけではなく

userEdit.render(userForm) 

しかし、私は、追加のパラメータを含むより適切な解決策があるかどうかを知りたいと思います。

ありがとうございます。既存のデータでフォームを事前入力することができます

答えて

0

documentation状態:既存のUser考える

val filledForm = userForm.fill(User("Bob", 18)) 

、あなたの例に適応するのは簡単でなければなりません。

+0

検証エラーの後、フォームは、データベースにすでに保持されている情報ではなく、ユーザーが入力した情報で埋められる必要があります。この命令は、ユーザーが入力した情報を上書きしますか? – Bustikiller

+0

私はそうだと思いますが、フォームにエラーが含まれていると、フォームにユーザーデータを入力するだけで済みます。 'userForm.get'を行うのではなく、' userForm.fold'を見てください。この場合、ユーザーが間違ったデータを入力した場合は明示的に処理する必要があります – irundaia

関連する問題