我有這些案例類將自定義映射綁定到對象的形式 - 如何?
case class Blog(id:Long, author:User, other stuff...)
case class Comment(id:Long, blog:Blog, comment:String)
和提交數據
blog_id:"5"
comment:"wasssup"
我在寫一些簡單的代碼,讓用戶添加註釋到一個博客在客戶端的形式。
的用戶登錄,因此不從客戶端需要他user_id
,我們知道他是誰...
我想綁定blog_id
從數據庫加載Blog
對象,如果沒有關係不存在顯示錯誤。
有關播放框架文檔的示例沒有幫助。
它們僅顯示錶示單個對象及其所有字段的表單的映射。
這裏我代表一個(b:Blog, comment:String)
和Blog
的元組,我只提供它的id
。
我想有一個映射,將我提供轉換+驗證+錯誤消息,這樣我就可以寫類似:
val form = Form(
tuple(
"blog_id" -> blogMapping,
"comment" -> nonEmptyText
)
)
form.bindFromRequest().fold(...
formWithErrors => {...
}, {
case (blog, comment) => {do some db stuff to create the comment}
...
的「blogMapping」 wlil像其他映射工作,它會將發佈的數據綁定到一個對象,在我們的例子中是一個從db加載的博客,如果它不成功,它會提供一個我們可以在formWithErrors =>
子句中使用的錯誤。
我不知道如何做到這一點,這裏的文檔有點缺乏......
任何幫助表示讚賞!
我接受詹姆斯回答,但使用了一些不同的東西,我會添加我的答案,以便其他人可以查看它。 – samz 2013-04-11 09:09:08