2017-07-07 17 views
0

コード:プログラムで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... 
} 

だから、私は、ユーザーを作成したいポストHTTPメソッドを持っている...豆の検証が働いている欠けている場合国コードまたはロックされたokまたは電子メールが有効でない場合ok ...しかし、私はちょうど例の電子メールのための更新もまた完全なdtoのクラスで動かされているために更新したいと思うので...質問は私ができ、毎回各変数に?

答えて

1

具体的なプロパティを確認するにはValidator::validatePropertyを使用してください。複数のプロパティがある場合は、それらをグループ化してValidator::validate(チュートリアルの場合はhereを参照)でチェックすることもできます。

+0

ありがとう、thats私が欲しいもの:) – kodaek98

関連する問題