【问题标题】:play framework forms without helpers -not getting the errors在没有助手的情况下播放框架表单 - 不会出现错误
【发布时间】:2013-04-12 04:33:37
【问题描述】:

由于我不太了解它,我试图在不超过基本 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 -&gt; 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 会打印,而不是默认消息,此字段是必需的

【问题讨论】:

    标签: scala playframework-2.0 playframework-2.1


    【解决方案1】:

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

    <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>   }  
    

    【讨论】:

      【解决方案2】:

      从 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>}
      

      【讨论】:

        猜你喜欢
        • 2015-05-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多