【发布时间】:2020-11-04 12:54:23
【问题描述】:
尝试在 Spring MVC 中验证表单时遇到了一些问题。下面作为我的控制器类:
@RequestMapping(value = "/search.do", params ="doImageExtract", method = { RequestMethod.POST })
public String doImageExtract(Model model, @ModelAttribute("attendanceTO") @Valid AttendanceTO attendanceSearchForm,
BindingResult bindingResult) {
log.debug("doImageExtractSearchList(): bindingResult has error " + bindingResult.hasErrors());
if (bindingResult.hasErrors())
return "search";
}
在我的 JSP 中:
<form:form action="search.do" method="POST" modelAttribute="attendanceTO">
<table>
<td align="left"><form:input path="dteEnlist" maxlength="10" /></td>
<td align="left"><form:errors path="dteEnlist" class="errorClass" /></td>
</table>
</form:form>
在我的 TO 课上:
@NotNull
@DateTimeFormat(pattern = "dd/MM/yyyy")
private String dteEnlist;
在我的属性文件中:
NotNull.attendanceTO.dteEnlist = Enlistment Date is required.
DateTimeFormat.attendanceTO.dteEnlist = Enlistment Date must be in dd/MM/yyy format.
我尝试在控制器中检查 bindingResult.hasErrors(),它确实返回了 true。但是,错误消息没有显示在 JSP 中。
我已将 validation-api-2.0.1.Final.jar 作为库导入到我的项目中。
有什么想法吗?谢谢!
编辑
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="/WEB-INF/properties/messages" />
<property name="defaultEncoding" value="UTF-8" />
</bean>
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="validationMessageSource" ref="messageSource"/>
</bean>
【问题讨论】:
标签: java validation spring-mvc jsp