[英]Spring3 MVC: Validation not working
性别验证无效。 即使在“性别”文本字段中未输入任何值,也可以成功验证表单,而不会引发任何错误。
以下是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>
我无法找出缺少的内容,但是却有些愚蠢。 请帮忙。
1)所有javax约束在其通过条件中都包含一个隐式“或null”。 如果要捕获空格,则需要添加@NotNull
,或重新配置Web绑定程序以将空格输入绑定到空字符串而不是null。
2) <context:annotation-config />
不会打开Spring 3调度程序servlet自动配置魔术。 如果需要,您需要定义自己的验证器bean。 要使所有内容都能自动运行,您需要使用<mvc:annotation-driven />
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.