scala - 如何在 lift Crudify 中将字段设置为只读

标签 scala lift

我有一个字段希望为只读并具有默认值。

这是我到目前为止所拥有的:

    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/

相关文章:

java - 在电梯应用程序中将 Scala 版本更新为 2.10.0

scala - 处理 Spark Scala API 交叉连接的最佳方法,导致左右数据帧的列名称相同

scala - 如何编写asInstanceOfOpt [T],其中T <: Any

java - 在 Scala 模板中为变量创建和赋值

Scala 隐式参数,在伴随对象中定义了默认值

macos - 使用 sbt 0.11.0 安装 Scala 2.9.1/Lift 2.4-M4

Scala sql 查询从 GCP 到本地的远程访问错误

html - 将 html/xml 代码与提升代码段分开的好方法是什么?

scala - EJB 和 JPA 可以在 Lift 中使用吗? Lift 和 JSF 能否并行?

Scala RIA 与 Lift 和