0

由于我不太了解它,我试图在不超过基本 scala 的情况下生成我的观点。

出于这个原因,我只写 html 来制作表单,我唯一的问题是获取表单可能存在的错误

我在我的控制器上使用:

badRequest(register.render(form));

在我看来

<label for="name">Name:</label>
    <input type="text" class="input-block-level" placeholder="Last Name" name="name">
    <dl class="input-block-level error" id="name_field">
    <dd class="error">@if(registrationForm.hasErrors) {
    @registrationForm.errors.get("name")}</dd></dl>     

这将打印在屏幕上 [ValidationError(name,error.required,[])]

我知道助手具有 '_error -> registrationForm.globalError属性,但我不喜欢生成的代码(主要是标签)

我怎样才能通过scala得到所有的错误?

编辑1:所以我将视图代码更改为以下

 @if(registrationForm.error("name")!=null) {
    <dl class="input-block-level error" id="name_field">
    <dd class="error">
    @registrationForm.error("name").message</dd></dl>

这将打印字段错误,但仅打印消息键而不是消息值,例如 error.required 打印,而不是默认消息此字段是必需的

4

2 回答 2

0

从 2.1 开始,上一个将不起作用,实际上 .error(key) 是一个 Option[FormError] 所以这个:

@if(form.error("name")){<span class="help-inline">@Messages(form.error("name").message)</span>}

变成:

@if(form.error("name")){<span class="help-inline">@Messages(form.error("name").get.message)</span>}
于 2013-06-14T01:22:09.737 回答
0

好的,所以我得到了我想要的结果,以防有人有兴趣在没有帮助的情况下制作表格

<input type="text" class="input-block-level" placeholder="Name" name="name">
    @if(registrationForm.error("name")!=null) {
    <dl class="input-block-level error" id="name_field">
    <dd class="error">
    @Messages(registrationForm.error("name").message)</dd></dl>   }  
于 2013-04-18T22:36:41.803 回答