【发布时间】:2026-01-30 21:40:01
【问题描述】:
我有一个实体如下:
@Entity
public class MyEntity {
@Column(name = "id")
@Id @GeneratedValue
private Long id;
private int SiteId;
//...getters & setters etc..
}
@Controller 中的一个方法:
@RequestMapping(value = "/edit", method = RequestMethod.POST)
public String edit(@Valid @ModelAttribute("myEntity") MyEntity myEntity, BindingResult result) {
if (result.hasErrors()) {
return "edit";
}
myEntityRepository.save(myEntity);
return "redirect:/home";
}
在我的 edit.html 文件中:
<form name="form" th:action="@{/edit}" th:object="${myEntity}" method="post">
<div class="form-group col-sm-3">
<label class="control-label" for="siteId">Site ID</label>
<input class="form-control" type="text" th:field="*{siteId}"/>
<p th:if="${#fields.hasErrors('siteId')}"
class="label label-danger" th:errors="*{siteId}">My custom error message</p>
</div>
<div class="form-group">
<input type="submit" value="Confirme" class="btn btn-primary" />
</div>
</form>
我的 siteId 字段下显示此消息:Failed to convert property value of type [java.lang.String] to required type [int] for property sectorId; nested exception is java.lang.NumberFormatException: For input string: "random string"
而不是我要显示的消息,即My custom error message
【问题讨论】:
标签: java validation spring-mvc spring-boot thymeleaf