将绑定错误消息添加到输入标记中的自定义消息

时间:2016-07-28 09:07:15

标签: html spring-mvc thymeleaf

我正在玩Spring validating form input示例 - 带有Thymeleaf视图的java spring mvc。我已经能够毫无问题地将消息传递到视图中。这些显示示例要求他们...

e.g。

<td th:if="${#fields.hasErrors('name')}" th:errors="*{name}">Name Error</td>

我试图找到一种方法将它们放入html输入验证属性中,所以我尝试了以下内容(下面的整页)

<td><input type="text" th:field="*{age}" **required="required" data-errormessage-value-missing="${#fields.errors('age')}" data-errormessage="${#fields.errors('age')}"**/></td>

这样做并不好,显示的验证信息是$ {#fields.errors('age')}!有没有办法将绑定错误推送到属性中,还是我误解了它的工作方式?

感谢您提前提供任何帮助。

Page html

<html>
<body>
    <form action="#" th:action="@{/}" th:object="${personForm}" method="post">
        <table>
            <tr>
                <td>Name:</td>
                <td><input type="text" th:field="*{name}" required="required" data-errormessage-value-missing="Custom Message" /></td>

                <td th:if="${#fields.hasErrors('name')}" th:errors="*{name}">Name Error</td>
            </tr>
            <tr>
                <td>Age:</td>
                <td><input type="text" th:field="*{age}" required="required" data-errormessage-value-missing="${#fields.errors('age')}" data-errormessage="${#fields.errors('age')}"/></td>
                <td th:if="${#fields.hasErrors('age')}" th:errors="*{age}">Age Error</td>
            </tr>
            <tr>
                <td><button type="submit">Submit</button></td>
            </tr>
        </table>
    </form>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

Thymeleaf仅评估以 th:开头的属性,因此为了做到这一点,您必须使用 th:attr 。您的标记应如下所示:

class MaBase < ActiveRecord::Migration
  def change
      create_table :connexion
      add_column :connexion, :ip, :string
      add_column :connexion, :user_agent, :string
      add_column :connexion, :nb, :integrer
      add_column :connexion, :date, :datetime
      create_table :recherche
      add_column :recherche, :ip, :string
      add_column :recherche, :recherche, :string
      add_column :recherche, :date, :datetime
      create_table :membre
      add_column :membre, :ip, :string
  end
end

你也可以使用这个插件来评估数据标签,但我还没有使用它,所以我无法评论它的工作情况:https://github.com/mxab/thymeleaf-extras-data-attribute