https://narmo7.wordpress.com/2014/04/26/how-to-set-up-validation-group-in-springmvc/
https://blog.codeleak.pl/2014/08/validation-groups-in-spring-mvc.html
DTO
public class UserDTO implements Serializable{ /** * 分组校验 */ public interface Create extends Default {}//继承Default,缺省的属性校验也会进行 public interface Update{} /** * 用户ID */ @NotNull(message = "用户ID不能为空",groups = {Update.class}) private Long userId; /** * 用户名 */ @NotBlank(message = "用户名不能为空",groups = {Create.class}) private String username; /** * 用户类型 */ @NotNull(message = "用户类型不能为空")//缺省时,默认是groups = {Default.class} private int userType;
控制层
public boolean addUser(@RequestBody @Validated(value={UserDTO.Create.class}) UserDTO dto){
递归校验(多层校验)
@Validated: 用在方法入参上无法单独提供嵌套验证功能。不能用在成员属性(字段)上,也无法提示框架进行嵌套验证。能配合嵌套验证注解@Valid进行嵌套验证。
@Valid: 用在方法入参上无法单独提供嵌套验证功能。能够用在成员属性(字段)上,提示验证框架进行嵌套验证。能配合嵌套验证注解@Valid进行嵌套验证。