为MappedField定制toForm生成

时间:2011-07-18 06:51:38

标签: scala lift

我无法弄清楚如何在toForm中正确覆盖_toForm(或MappedField?)。

特别是我喜欢我的

object providesInternship  extends MappedBoolean(this) {
    override def displayName = "Provides Internship"
    override def asHtml = Text(if (is) "Yes" else "No")
    override def dbNotNull_? = true
}

要呈现(通过toForm调用)

<input type="radio" name=... value=... /> Yes
<input type="radio" name=... value=... /> No

我用谷歌搜索,阅读ScalaDocs和MappedField的源代码无济于事。

欢迎提供类似教程文档的任何提示或指示!

1 个答案:

答案 0 :(得分:0)

我没有为MappedXXX做过这个,但是对于LiftScreen中的字段只是为了使它们只读,不确定同样的事情是否适合你。

val input4 = new Field {
    type ValueType = String
    override def name = "Not Editable"
    override def default = "Cannot change"
    lazy val manifest = buildIt[ValueType]
    override def toForm: Box[NodeSeq] =
    SHtml.text(is, set _, "readonly" -> "readonly")
}