playframework 2.0 - 视图中表单输入文本的默认_showConstraints值



我不想为我的视图的每个输入文本定义arg '_showConstraints -> 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作为解决方案)

创建你自己的 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)

最新更新