我有一个字段希望为只读并具有默认值。
这是我到目前为止所拥有的:
object passwd extends MappedString(this, 20)
{
override def defaultValue = "XXX" + Random.alphanumeric.take(12).mkString // some default value
// readOnly = true // Or something similar???
}
我尝试覆盖 toHtml、asHtml、toForm、displayHtml,但它们都会更改 View 或标签或其他内容。
我只想自动生成defaultValue(可以工作),但用户在创建/编辑实体时无法编辑该字段。
如有任何建议,我们将不胜感激
最佳答案
明白了,
只需覆盖 _toForm 并禁用输入元素:
import net.liftweb.http.S
override def _toForm =
S.fmapFunc({s: List[String] => this.setFromAny(s)}){name =>
Full(<input disabled='disabled' type='text' id={fieldId} maxlength={maxLen.toString}
name={name}
value={is match {case null => "" case s => s.toString}}/>)}
关于scala - 如何在 lift Crudify 中将字段设置为只读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13535837/