spring - Spring MVC 验证器:错误条件未激活
问题描述
在遵循官方 Udemy 教程时,我尝试了一些 Spring MVC 验证代码,但是,验证条件没有激活;如果我写错了值,我总是会看到确认页面。我怎么解决这个问题?非常感谢。
如果我将第一个字段留空,则应该会激活一个错误并且它不会出现。其他情况都可以正常工作,只有代码永远不会遇到错误条件。
从飞机模型:
@NotNull(message="is required!")
@Size(min=10, message="is required!")
private String airMan;
来自验证者:
@RequestMapping("/formProcess")
public String openResult(
@ModelAttribute("aircraft") @Validated Aircraft aircraft,
BindingResult Result) {
System.out.println(" er: " + Result.getFieldError());
if (Result.hasErrors()) {
System.out.println("error");
return "index";
}
else {
System.out.println("ok");
return "result";
}
}
来自网络表单:
<form:form action="formProcess" modelAttribute="aircraft">
<form:input path="AirMan"/>
<form:errors path="AirMan" cssClass="error"></form:errors>
<form:input path="airModel"/>
<form:input path="airPower"/>
<input type="submit" value="ok">
</form:form>
解决方案
答案是:
<mvc:annotation-driven/>
在 spring-config.xml 中;在我复制粘贴的原始教程的代码中,它不是这部分。而且,在头部:
xmlns:mvc="http://www.springframework.org/schema/mvc"
在添加之前那些没有错误,没有消息,什么都没有。只有一个验证器未激活。