Spring MVC 如何在thymeleaf页面中显示来自BindingResult.reject(“message”)的消息

yc0p9oo0  于 2022-11-14  发布在  Spring
关注(0)|答案(1)|浏览(125)

我想在我的网页上显示bindingresult.reject("message")抛出的消息。

if (product.getQuantity() < saleDetailDto.getQuantity()) {
    bindingResult.reject("Not enough item in inventory");
    return "purchase-detail/save-form";
}
zpgglvta

zpgglvta1#

您需要确定拒绝的字段。
rejectValue()方法是用来将验证错误加入BindingResult对象。

第一个参数标识错误与哪个字段相关联。
第二个参数是一个错误代码,它充当messages.properties文件(或messages_en.propertiesmessages_fr.properties等,如果正在使用这些文件)的消息键。
rejectValue()的第三个参数表示回退默认消息,如果在资源包中找不到匹配的错误代码,则会显示该消息。

if(product.getQuantity() < saleDetailDto.getQuantity()){
    bindingResult.rejectValue("quantity", "error.quantity", "Not enough item in inventory!");
    return "purchase-detail/save-form";
}

要在html上显示它,可以执行以下操作。

<span th:if="${#fields.hasErrors('quantity')}" th:errors="*{quantity}">Error!</span>

相关问题