【发布时间】:2014-06-26 06:01:37
【问题描述】:
性别验证不起作用。即使在性别文本字段中未输入任何值,表单也会成功验证而不会引发任何错误。
下面是 Employee 类:
@Size(min=2,max=10)
private String gender;
// Setters and Getters
下面是Controller方法:
@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>
我无法找出缺少的东西,但它有些愚蠢。请帮忙。
【问题讨论】:
-
HibernateValidator 在你的类路径上吗?您是否从 javax.validation 包中导入了 @Size?
-
验证器:validation-api.jar 和 hibernate-validator.jar 都存在于我的类路径中。是的,包是:
import javax.validation.constraints.Size;
标签: java spring validation spring-mvc