如何编辑表单数据映射中的元素? 假设您通过...
绑定接收的数据val form = User.userEditForm.bindFromRequest
...然后你用折叠测试一切是否正常......
form.fold (formWithErrors => {
BadRequest(views.html.userEditForm(formWithErrors))
},
new_user => {
.....
}
。在第一个分支" formWithErrors"你重新显示表单并将formWithErrors作为参数传递。
假设我们有一个字段密码,我们想在重新显示表单进行修正之前清空此字段。 或者我们希望通过删除每个字段的开头/结尾处的所有空格来清理form.data中的所有字段。 这么简单的问题如何更新form.data hashmap中的任何字段?
答案 0 :(得分:2)
Form
是一个案例类,因此您可以使用copy
方法将新数据复制到其中:
val form = Form {
mapping(
"email" -> email,
"password" -> nonEmptyText,
"something" -> number
)
}
form.bindFromRequest.fold (
formWithErrors => {
BadRequest(views.html.userEditForm(
formWithErrors.copy(data = formWithErrors.data + ("password" -> ""))
))
},
user => ...
)