[java] Hibernate Validator를 사용하여 이진수 유효성 검사를 수행하는 방법은 무엇인가요?
- 의존성 추가
Hibernate Validator를 사용하기 위해 먼저 관련 의존성을 추가해야 합니다. Maven 프로젝트를 사용한다면
pom.xml
파일에 다음 의존성을 추가합니다.
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.1.5.Final</version>
</dependency>
- 이진수 유효성 검사 어노테이션 정의
이진수 유효성을 검사하기 위해 어노테이션을 정의해야 합니다. 아래와 같이
@Binary
이라는 어노테이션을 만들어 줍니다.
@Target({ FIELD, METHOD, PARAMETER })
@Retention(RUNTIME)
@Constraint(validatedBy = BinaryValidator.class)
public @interface Binary {
String message() default "Invalid binary number";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
- 유효성 검사 로직 작성 유효성 검사 로직은 Validator 클래스에서 처리됩니다. 이진수인지를 판별하는 로직을 작성합니다.
public class BinaryValidator implements ConstraintValidator<Binary, String> {
@Override
public boolean isValid(String value, ConstraintValidatorContext context) {
if (value == null) {
return true;
}
String regex = "^[01]+$";
return value.matches(regex);
}
}
- 유효성 검사 어노테이션 사용 이진수 유효성 검사 어노테이션을 필드 또는 메소드 파라미터에 적용하여 사용할 수 있습니다.
public class MyClass {
@Binary
private String binaryNumber;
// getter, setter
}
위와 같이 어노테이션을 사용하면 binaryNumber
필드에 저장되는 값이 이진수인지 Hibernate Validator가 자동으로 검증해줍니다.
이제 Hibernate Validator를 사용하여 이진수 유효성 검사를 수행할 수 있습니다.