Scala 的 Play Framework 文档显示了一个将表单隐式映射到案例类的示例:
case class User(name: String, age: Int)
val userForm = Form(
mapping(
"name" -> text,
"age" -> number
)(User.apply)(User.unapply)
)
我们注意到在这个独特的样本中只使用了原始值。
如果我们做这样的改变怎么样:
case class Car(brandName: String)
case class User(name: String, car: Car)
此外,我们假设表单返回User
's name (String) 和 a carId
(String)
val userForm = Form(
mapping(
"name" -> text,
"car" -> carRepository.findById(nonEmptyText) // concept I wish
)(User.apply)(User.unapply)
)
有没有办法在这个希望的行上实例化一辆汽车,carId
例如由表单提供的一些,并确保它carId
不是空的String
?