Java 使用注释和@Valid进行Spring表单验证
我的表单验证有一些问题 控制器:Java 使用注释和@Valid进行Spring表单验证,java,spring,spring-mvc,Java,Spring,Spring Mvc,我的表单验证有一些问题 控制器: @RequestMapping(value = REGISTER_URL, method = RequestMethod.POST) public String registerPost(@Valid RegisterForm registerForm, BindingResult result) { if (result.hasErrors()) {
@RequestMapping(value = REGISTER_URL, method = RequestMethod.POST)
public String registerPost(@Valid RegisterForm registerForm,
BindingResult result) {
if (result.hasErrors()) {
return REGISTER_VIEW;
}
System.out.println(registerForm.getPassword());
return LOGIN_VIEW;
}
视图:
当我输入空值(username、password和repeatedPassword)时,不会发生错误(我使用调试器进行了检查)。所以看起来没有进行任何验证。视图中的绑定值正常(使用调试器检查)有什么问题吗?将以下内容添加到上下文中:
<mvc:annotation-driven />
<context:component-scan base-package="xxx.xxx.xxx" />
在指南中,他们使用了“@SpringBootApplication”
@SpringBootApplication
注释相当于使用@Configuration
、@EnableAutoConfiguration
和@ComponentScan
及其默认属性:
还要添加@NotEmpty注释。@StanislavL我做了,什么也没做。无论如何-当我输入一些随机字符(最多4个)时,什么都不会发生。请从表单中删除操作属性谢谢,帮助:)
public class RegisterForm {
@Size(min = 3, max = 15)
private String username;
@Size(min = 5)
private String password;
@Size(min = 5)
private String repeatedPassword;
// getters and setters omitted
}
<mvc:annotation-driven />
<context:component-scan base-package="xxx.xxx.xxx" />