由于HTML表单可以有许多不同的形状,我想了解如何创建单独设计的表单而不为每个案例创建输入助手。我能找到的所有例子都与表单助手有关。
在我的控制器里,我有这样的事情:
formWithErrors => BadRequest(views.html.formsamples.getform1(formWithErrors))
我的观点:
<div class="form-group@{if(form.error("age")) " has-error"}">
<label for="exampleInputAge1" class="control-label">Age</label>
<input type="text" class="form-control" name="age" id="exampleInputAge1" placeholder="Enter age">
@if(form.error("age")) {
<span class="help-block">(1) @form.error("age")</span>
<span class="help-block">(2) @form.error("age").get.message</span>
<span class="help-block">(3) @Messages(form.error("age").get.message, form.error("age").get.args)</span>
}
</div>
@helper.inputText(form("age"))
错误输出如下所示:
(1) FormError(age,error.max,WrappedArray(100))
(2) error.max
(3) Must be less or equal to WrappedArray(100)
Number(3)尽可能接近,但它仍然不是正确的错误消息,因为我理解@Messages
需要单独的翻译参数,而form.error("age").get.args
提供参数作为WrappedArray
。
当我使用Play Framework的默认输入助手时,(第一个)错误消息为:Must be less or equal to 100
如何获取此消息,包括翻译完整错误消息所需的所有参数?
(full view file可以在GitHub上找到。)
答案 0 :(得分:2)
要使用数组(或类似的集合),您可以使用以下内容:
def method(args:String *):Unit
method("one", "two")
method(Seq("one", "two"): _*)
这是播放框架源代码中的一行:Helpers.scala#27