燮, 我试图用Play2反序列化表单数据,但我遇到了一个小问题。
代码:https://gist.github.com/Hajtosek/a355b800f334a584a547
implicit val registerForm = Form(
mapping(
"name" -> text,
"surname" -> text,
"login" -> text,
"password" -> text,
"email" -> text
)
)(User.apply)(User.unapply)
implicit val userFormat = Json.format[User]
}
case class UserLoginData(login: String, password: String)
object User {
def apply(name: String, surname: String, login: String, password: String, email: String) =
new User(name, surname, login, password, email, List())
}
case class User(name: String, surname: String, login: String, password: String, email: String, skillSet: List[SkillRecord] = List()) {
}
我从表单中获取的数据是(String,String,String,String,String) 但是我的case类需要(String,String,String,String,String,List [myCustomThing])。
当我将鼠标悬停在我的ide中的红色文本上时,提示说没有足够的方法申请方法(字符串,字符串,字符串,字符串,字符串)
这是我的新项目的注册表单,我试图覆盖同伴对象中的应用,但这也没有用。我也尝试过默认值和选项类似的结果。有什么建议吗?
此致
Haito
答案 0 :(得分:2)
您可以使用忽略的函数来定义字段的值
implicit val registerForm = Form(
mapping(
"name" -> text,
"surname" -> text,
"login" -> text,
"password" -> text,
"email" -> text,
"skillSet" -> ignored(List.empty[SkillRecord])
)
)(User.apply)(User.unapply)