[java] Hibernate Validator를 사용하여 필수 필드 유효성 검사를 수행하는 방법은 무엇인가요?
import javax.validation.constraints.NotEmpty;

public class User {
    @NotEmpty(message = "이름을 입력해주세요.")
    private String name;

    // ...

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

위의 예제에서 @NotEmpty 어노테이션은 name 필드가 비어있지 않아야 함을 나타냅니다. 만약 이 조건을 만족하지 않는다면, Hibernate Validator는 유효성 검사에 실패할 것입니다. 이 때 message 속성을 사용하여 오류 메시지를 지정할 수 있습니다.

다음은 유효성 검사를 수행하는 코드 예시입니다.

import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
import javax.validation.ConstraintViolation;
import java.util.Set;

public class Example {
    public static void main(String[] args) {
        ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
        Validator validator = factory.getValidator();

        User user = new User();
        user.setName("");

        Set<ConstraintViolation<User>> violations = validator.validate(user);
        for (ConstraintViolation<User> violation : violations) {
            System.out.println(violation.getMessage());
        }
    }
}

위의 코드에서 validator.validate(user) 메서드를 사용하여 유효성 검사를 수행합니다. 유효성 검사가 실패한 경우, violations 변수에 실패한 제약 조건의 정보가 담깁니다. 이후 반복문을 통해 각 실패한 제약 조건의 메시지를 출력할 수 있습니다.

참고 문서: