首页 > 解决方案 > 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>

标签: springspring-mvcspring-validator

解决方案


答案是:

 <mvc:annotation-driven/> 

在 spring-config.xml 中;在我复制粘贴的原始教程的代码中,它不是这部分。而且,在头部:

xmlns:mvc="http://www.springframework.org/schema/mvc"

在添加之前那些没有错误,没有消息,什么都没有。只有一个验证器未激活。


推荐阅读