我正在 Play 2 中创建一个自定义字段构造函数:
@(elements : helper.FieldElements)
<div class="@if(elements.hasErrors) {error}">
<label for="@elements.id">@elements.label</label>
<div class="input">
@elements.input
<span class="errors">@elements.errors.mkString(", ")</span>
<span class="help">@elements.infos.mkString(", ")</span>
</div>
</div>
我需要输入元素总是有一个特定的类“我的类”。我怎样才能做到这一点? FieldElements 类有一个 args 成员。我尝试在 args 中将“my-class”附加到与 '_class 关联的值后制作元素的副本,但这似乎并没有影响输入元素。
最佳答案
Play 框架中自定义输入的一种方法是
@(elements: helper.FieldElements)
<div class="form-group @elements.args.get('_class) @if(elements.hasErrors) {has-error}" id="@elements.args.get('_id).getOrElse(elements.id + "_field")">
@if(elements.hasName) {
<label class="control-label" for="@elements.id">@elements.name</label>
} else {
<label class="control-label" for="@elements.id">@elements.label(elements.lang)</label>
}
@if(elements.input.toString().contains("class=")) {
@Html(elements.input.toString().replaceFirst("(class=[\"'])", "$1form-control "))
} else {
@Html(elements.input.toString().replaceFirst("(<\\w+ )", "$1class=\"form-control\" "))
}
@elements.errors.map { error =>
<p class="help-block">@error</p>
}
@elements.infos.map { info =>
<span class="help-block">@info</span>
}
</div>
关于playframework - 将类添加到 Play 2 自定义 FieldConstructor 中的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20364780/