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){}