gpt4 book ai didi

java - Spring3 MVC : Validation not working

转载 作者:行者123 更新时间:2023-12-01 22:59:18 27 4
gpt4 key购买 nike

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

下面是 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 绑定(bind)器以将空白输入绑定(bind)到空字符串而不是 null。

2) <context:annotation-config />不打开 Spring 3 调度程序 servlet 自动配置魔法。如果您这样做,您需要定义自己的 validator bean。要使一切能够自动工作,您需要使用 <mvc:annotation-driven /> .

关于java - Spring3 MVC : Validation not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23548645/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com