Spring MVC——数据校验(分组校验)

1. 定义校验分组
//分组一
public interface ValidationGroup1
{
//接口中不需要任何定义
//用户名不能为空 密码长度在6-12之间
}
//分组二
public interface ValidationGroup2
{
//接口中不需要任何定义
//邮件格式不正确
}

2. 在校验规则中添加分组
//分组一: 用户名不能为空
@NotEmpty(message="{user.username}",groups={ValidationGroup1.class})
public String username;

//分组一:密码长度必须在6-12之间
@Length(min=6,max=12,message="{user.password}",groups={ValidationGroup1.class})
public String password;

//分组二:必须符合正则表达式规则
@Email(regexp="^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$",message="{user.email}",groups={ValidationGroup2.class})
private String email;

3.在conroller中指定使用的分组校验
//仅使用分组一进行校验
public String insertUser(Model model,@Validated(value={ValidationGroup1.class}) User user,BindingResult bindingResult,Integer uid){}

//仅使用分组二进行校验
public String insertUser(Model model,@Validated(value={ValidationGroup2.class}) User user,BindingResult bindingResult,Integer uid){}

//使用分组一、分组二进行校验
public String insertUser(Model model,@Validated(value={ValidationGroup1.class,ValidationGroup2.class}) User user,BindingResult bindingResult,Integer uid){}

原文地址:https://www.cnblogs.com/ccw95/p/6165558.html