我不想定义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作为解决方案)
答案 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)