我有一组基于sealed trait
的模型类,如下所示:
sealed trait Base {
def baseValue: String
}
case class ChildA(
baseValue: String
childAValue: Int
) extends Base
case class ChildB(
baseValue: String
childBValue: String
) extends Base
如何正确处理form submission,即如何定义Form根据给定的输入数据生成Base
类型的对象。我期待一个额外的字段$type
,它保存特定子类型的类类型信息。理想情况下,表单还会处理具有相应表单错误的未知类型。
答案 0 :(得分:0)
如果您希望表单生成Base
类型的对象(即ChildA
类型或ChildB
类型的对象),也许您应该查看Scala' s Either
类型。更多信息:http://danielwestheide.com/blog/2013/01/02/the-neophytes-guide-to-scala-part-7-the-either-type.html