Java Spring3 MVC:验证不起作用

Java Spring3 MVC:验证不起作用,java,spring,validation,spring-mvc,Java,Spring,Validation,Spring Mvc,性别验证不起作用。即使在性别文本字段中未输入任何值,表单也会成功验证,不会引发任何错误 以下是员工类别: @Size(min=2,max=10) private String gender; // Setters and Getters 以下是控制器方法: @RequestMapping(value="done", method = RequestMethod.POST) public String validateForm(@Valid Employee employee, Binding

性别验证不起作用。即使在性别文本字段中未输入任何值,表单也会成功验证,不会引发任何错误

以下是员工类别:

@Size(min=2,max=10)
private String gender;

// Setters and Getters
以下是控制器方法:

@RequestMapping(value="done", method = RequestMethod.POST)
public String validateForm(@Valid Employee employee, BindingResult result, ModelMap m){
    if(result.hasErrors()){
        System.out.println("Validation Failed!!!");
        return "main";
    }else{
        System.out.println("Validation Succeeded!!!");
        return "done";
    }
}
以下是上下文文件:

<context:annotation-config />
<context:component-scan
    base-package="com.XXX" />

<bean id="viewResolver"
    class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <property name="viewClass"
        value="org.springframework.web.servlet.view.JstlView" />
    <property name="prefix" value="/WEB-INF/pages/" />
    <property name="suffix" value=".jsp" />
</bean>

下面是jsp文件:

<tr>
            <td>
                Gender:
            </td>
            <td>
                <form:input path="gender"/>
                <form:errors path="gender" cssStyle="color: red;"/>
            </td>
        </tr>

性别:
我无法找出遗漏了什么,但这有点愚蠢。请提供帮助。

1)所有javax约束在其传递条件中都包含隐式的“或null”。如果您想要捕获空白,您需要添加
@NotNull
,或者重新配置web绑定器,将空白输入绑定到空字符串而不是null

2)
未启用Spring3 DispatcherServlet自动配置魔法。如果这样做,您需要定义自己的验证器bean。要使一切自动工作,您需要使用

1)所有javax约束在其传递条件中都包含一个隐式的“或null”。如果您想要捕获空白,您需要添加
@NotNull
,或者重新配置web绑定器,将空白输入绑定到空字符串而不是null

2)
未启用Spring3 DispatcherServlet自动配置魔法。如果这样做,您需要定义自己的验证器bean。要使一切自动工作,您需要使用

1)所有javax约束在其传递条件中都包含一个隐式的“或null”。如果您想要捕获空白,您需要添加
@NotNull
,或者重新配置web绑定器,将空白输入绑定到空字符串而不是null

2)
未启用Spring3 DispatcherServlet自动配置魔法。如果这样做,您需要定义自己的验证器bean。要使一切自动工作,您需要使用

1)所有javax约束在其传递条件中都包含一个隐式的“或null”。如果您想要捕获空白,您需要添加
@NotNull
,或者重新配置web绑定器,将空白输入绑定到空字符串而不是null



2)
未启用Spring3 DispatcherServlet自动配置魔法。如果这样做,您需要定义自己的验证器bean。要使一切自动工作,您需要使用

HibernateEvalidator在您的类路径上吗?您是否从javax.validation包导入了@Size?validation-api.jar和hibernate-validator.jar这两个验证器都存在于我的类路径中。是的,包是:
import javax.validation.constraints.SizeHibernateEvalidator是否在类路径上?您是否从javax.validation包导入了@Size?validation-api.jar和hibernate-validator.jar这两个验证器都存在于我的类路径中。是的,包是:
import javax.validation.constraints.SizeHibernateEvalidator是否在类路径上?您是否从javax.validation包导入了@Size?validation-api.jar和hibernate-validator.jar这两个验证器都存在于我的类路径中。是的,包是:
import javax.validation.constraints.SizeHibernateEvalidator是否在类路径上?您是否从javax.validation包导入了@Size?validation-api.jar和hibernate-validator.jar这两个验证器都存在于我的类路径中。是的,包是:
import javax.validation.constraints.Size
我将
@Size
更改为
@NotNull
,但验证仍然不起作用。请给出建议。在这两个注释都不起作用之前,您需要:
@Size(min=2,max=10)@NotNull私有字符串性别验证是否适用于长度为1或11的字符串,而不适用于空格,或者什么都不起作用?什么都不起作用。首先,尝试不使用任何字符,第二:尝试使用单个字符。我将
@Size
更改为
@NotNull
,但验证仍然不起作用。请给出建议。在这两个注释都不起作用之前,您需要:
@Size(min=2,max=10)@NotNull私有字符串性别验证是否适用于长度为1或11的字符串,而不适用于空格,或者什么都不起作用?什么都不起作用。首先,尝试不使用任何字符,第二:尝试使用单个字符。我将
@Size
更改为
@NotNull
,但验证仍然不起作用。请给出建议。在这两个注释都不起作用之前,您需要:
@Size(min=2,max=10)@NotNull私有字符串性别验证是否适用于长度为1或11的字符串,而不适用于空格,或者什么都不起作用?什么都不起作用。首先,尝试不使用任何字符,第二:尝试使用单个字符。我将
@Size
更改为
@NotNull
,但验证仍然不起作用。请给出建议。在这两个注释都不起作用之前,您需要:
@Size(min=2,max=10)@NotNull私有字符串性别验证是否适用于长度为1或11的字符串,而不适用于空格,或者什么都不起作用?什么都不起作用。第一,尝试不使用任何字符,第二:尝试使用单个字符。