2017-07-07 39 views
0

代码在这里我想用Bean验证:如何以编程方式配置bean验证?

@Inject 
private ValidatorFactory validatorFactory; 
.... 

public Response create(@Context HttpServletRequest request) { 
     ... 
     Set<ConstraintViolation<UserDTO>> validate = validatorFactory.getValidator().validate(userDTO); 
     validate.forEach(error-> System.err.println(error.getMessage())); 
     if(validate.size() > 0){ 
      throw new ValidationException("userDTO is not valid!"); 
     } 
     ... 
} 


public Response update(@Context HttpServletRequest request) { 
     Set<ConstraintViolation<UserDTO>> validate = validatorFactory.getValidator().validate(userDTO); 
     validate.forEach(error-> System.err.println(error.getMessage())); 
     if(validate.size() > 0){ 
      throw new ValidationException("userDTO is not valid!"); 
     } 
     ... 
} 

UserDTO:

public class UserDTO { 
    private Integer id; 
    private String userName; 
    @NotNull(message = "is missing") 
    private String locked; 
    @Email(message = "email is not valid") 
    private String email; 
    @NotNull(message = "countryCode is missing") 
    private String countryCode; 
    ...getters-setters more variables... 
} 

所以我要在这里我想创建一个用户一个POST HTTP方法...豆验证工作,如果丢失国家代码或锁定好或如果电子邮件无效正常...但是,当我想只是更新例如电子邮件验证也运行在整个dto类...所以问题是我可以和我如何配置不运行对每一个变量每次?

回答