玩没有助手的框架形式 - 没有得到错误

时间:2013-04-18 21:34:45

标签: scala playframework-2.0 playframework-2.1

我试图生成我的观点而不是基本的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,而不是默认消息,此字段是必需的

2 个答案:

答案 0 :(得分: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>   }  

答案 1 :(得分: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>}