视图中表单inputText的默认_showConstraints值

时间:2013-01-29 19:25:08

标签: playframework-2.0

我不想定义arg'_showConstraints - >我的每个inputText视图都是false。

@inputText(taskForm("name"), '_showConstraints -> false )

如何将此值默认为false?

我在./play/src/main/scala/views/helper/Helpers.scala中找到了关于此arg的一些内容:

def infos(implicit lang: play.api.i18n.Lang): Seq[String] = {
  args.get('_help).map(m => Seq(m.toString)).getOrElse {
    (if (args.get('_showConstraints) match {
      case Some(false) => false
      case _ => true
    }) {
      field.constraints.map(c => play.api.i18n.Messages(c._1, c._2: _*)) ++
        field.format.map(f => play.api.i18n.Messages(f._1, f._2: _*))
    } else Nil)
  }
}

我是scala的新手,我怎么能在我的项目中覆盖Helpers.scala的这部分代码呢?

(PS:我不考虑编辑./play/src/main/scala/views/helper/Helpers.scala作为解决方案)

1 个答案:

答案 0 :(得分:1)

创建自己的FieldConstructor(更多信息请参见http://www.playframework.com/documentation/2.3.x/JavaFormHelpers),并指定类似的内容:

@if(elements.args.get('_showConstraints).map{ _ == true}.getOrElse(false)) {
    <pre class="help-block">@elements.infos(elements.lang).mkString(", ")</pre>
}

现在约束仅在您指定时显示:

@helper.inputText(form("name"), '_showConstraints -> true)