在遵循正式的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>
答案 0 :(得分:0)
答案是:
<mvc:annotation-driven/>
在spring-config.xml中;在我复制粘贴的原始教程的代码中,这不是这部分。而且,在头部:
xmlns:mvc="http://www.springframework.org/schema/mvc"
在添加这些内容之前,没有错误,没有消息,什么也没有。仅验证器未激活。谢谢大家的答复;问题已解决。