我正在使用弹簧控制器和百里香浏览一个网站。 我有一个html页面,显示所有用户详细信息。因此,在单击“编辑”按钮时,我弹出一个模式(基础),该模式包含一个包含用户所有可编辑字段的表单。提交后,将询问spring控制器以验证输入字段并最终保存更新。
但是,如果发生验证错误,我想从控制器重新加载页面,并显示所有错误的模式。
如何验证表单是否有错误,并最终弹出模式对话框?
这里是控制器。
@PostMapping(path="/admin/associati/modifica")
public String editAssociato(final HttpServletRequest request, @ModelAttribute("associato") @Valid User associato,
BindingResult result, RedirectAttributes redirectAttributes, Principal principal, Model model) {
if (result.hasErrors()) {
// DO STUFF
return "associati/associati_nuovo";
}
return "redirect:/admin/associati";
}
这里是模态:
<div id="myModal" class="reveal-modal" data-reveal aria-labelledby="modalTitle" aria-hidden="true" role="dialog">
<form th:object="${associato}" th:action="@{/admin/associati/nuovo}" method="post">
<div class="profile_fields_row">
<h4>Nome</h4>
<input type="text" name="nome" th:field="*{nome}">
<span th:if="${#fields.hasErrors('nome')}" th:errors="*{nome}" th:text="#{NotNull.user.firstName}"></span>
</div>
<div class="profile_fields_row">
<h4>Cognome</h4>
<input type="text" name="cognome" th:field="*{cognome}">
<span th:if="${#fields.hasErrors('cognome')}" th:errors="*{cognome}" th:text="#{NotNull.user.lastName}"></span>
</div>
... OTHER FIELDS ...
<div style="text-align: right;">
<input class="button" type="submit" value="Salva">
<a class="button minimal no_icon" href="#">Annulla</a>
</div>
</form>
</div>