我不想为我的视图的每个输入文本定义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)