首页 > 代码库 > Spring MVC——数据校验(分组校验)
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=http://www.mamicode.com/{ValidationGroup1.class}) User user,BindingResult bindingResult,Integer uid){}
//仅使用分组二进行校验
public String insertUser(Model model,@Validated(value=http://www.mamicode.com/{ValidationGroup2.class}) User user,BindingResult bindingResult,Integer uid){}
//使用分组一、分组二进行校验
public String insertUser(Model model,@Validated(value=http://www.mamicode.com/{ValidationGroup1.class,ValidationGroup2.class}) User user,BindingResult bindingResult,Integer uid){}
Spring MVC——数据校验(分组校验)