📅  最后修改于: 2023-12-03 14:47:34.140000             🧑  作者: Mango
Spring MVC 验证是一种用于验证用户输入的技术,它可以通过在控制器中添加注解来自动验证用户输入,并返回相应的错误信息。
Spring MVC 验证可以通过提供 Validator 接口来进行验证,也可以使用注解来自动验证。在 Spring MVC 中,我们可以使用 @Valid 注解来启用验证,同时也可以使用 BindingResult 对象来获取验证结果。
在使用 Spring MVC 验证之前,我们需要在 Spring MVC 的配置中添加以下内容:
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"/>
<mvc:annotation-driven validator="validator"/>
这里我们使用的是 Bean Validation API 提供的验证器,因此需要将其添加到 Spring 容器中。同时在 <mvc:annotation-driven>
中添加 validator
属性来启用验证。如果你正在使用新版本的 Spring,那么你无需手动添加这些配置,Spring 会自动检测并启用验证。
Spring MVC 提供了大量的注解来帮助我们进行验证。这些注解分为两类:
以下是常用的约束注解:
以下是常用的分组注解:
以下是一个示例代码,它演示了如何在控制器中使用注解进行验证:
@Controller
@RequestMapping("/user")
public class UserController {
@PostMapping("/save")
public String save(@Valid User user, BindingResult result) {
if (result.hasErrors()) {
return "error";
}
userService.save(user);
return "success";
}
}
在上面的代码中,我们使用了 @Valid 注解来启用验证,并通过 BindingResult 对象进行错误处理。在 User 类中,我们添加了大量的约束注解来限制属性的值。
public class User {
@NotNull
private String username;
@NotBlank
private String password;
@Email
private String email;
@Size(min = 2, max = 10)
private String nickname;
// getter/setter 略
}
Spring MVC 验证是一个非常有用的技术,它可以帮助我们快速验证用户输入,并返回相应的错误信息。通过使用注解和分组注解,我们可以轻松地实现复杂的验证场景。