我查看了本教程:https://spring.io/guides/gs/validating-form-input。
使用th:errors
会导致出现<br>
separeted错误消息。我想要一个无序列表。所以我已经定义了这样一个片段......
<td th:fragment="validationMessages(field)" th:if="${#fields != null and field != null and #fields.hasErrors(field)}">
<ul>
<li th:each="error : ${#fields.errors(field)}" th:text="${error}"></li>
</ul>
</td>
......并将其用于......
<td th:replace ="form :: validationMessages('age')"></td>
是否有“干净代码”解决方案/最佳做法,例如覆盖th:errors
的呈现实现?
答案 0 :(得分:1)
您可能会创建自己的Thymeleaf处理器,基于org.thymeleaf.spring4.processor.attr.SpringErrorsAttrProcessor
,使用您自己的分隔错误的方法,然后使用它而不是Thymeleaf给您的那个。但它看起来并不是特别适合扩展。
我认为你这样做的方式可能是最好的。我倾向于喜欢我的HTML模板使用模板语言(如Thymeleaf)而不是Java代码。您可以根据需要进行修改(例如添加样式类),并清楚代码的作用。这正是为模板片段制作的那种东西。