在 class 阶段省略参数应用
Omiting parameter in case class apply
喂,
我正在尝试使用 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)
但我的案例 class 需要 (String,String,String, String,String, List[myCustomThing]).
当我将鼠标悬停在 ide 中的红色文本上时,提示说没有足够的参数用于方法应用 (String,String,String, String,String)
这是我的新项目的注册表单,我试图覆盖ide apply in companion object 但也没有用。我还尝试过默认值和具有类似 result.Any 建议的选项?
此致,
灰人
您可以使用允许定义字段值的忽略函数
implicit val registerForm = Form(
mapping(
"name" -> text,
"surname" -> text,
"login" -> text,
"password" -> text,
"email" -> text,
"skillSet" -> ignored(List.empty[SkillRecord])
)
)(User.apply)(User.unapply)
喂, 我正在尝试使用 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) 但我的案例 class 需要 (String,String,String, String,String, List[myCustomThing]).
当我将鼠标悬停在 ide 中的红色文本上时,提示说没有足够的参数用于方法应用 (String,String,String, String,String)
这是我的新项目的注册表单,我试图覆盖ide apply in companion object 但也没有用。我还尝试过默认值和具有类似 result.Any 建议的选项?
此致,
灰人
您可以使用允许定义字段值的忽略函数
implicit val registerForm = Form(
mapping(
"name" -> text,
"surname" -> text,
"login" -> text,
"password" -> text,
"email" -> text,
"skillSet" -> ignored(List.empty[SkillRecord])
)
)(User.apply)(User.unapply)