프로젝트에서 bean 유효성 검사를 사용하며 기존 제한 사항 주석에 대한 사용자 정의 유효성 검사기를 작성하고 싶습니다.기존 Constraint에 대한 ConstraintValidator 사용자 정의
예를 들어 CustomDateTime
이라는 날짜/시간을 나타내는 클래스가 있습니다. 예를 들어 내가 @Past
와 함께 필드에 주석하고 싶습니다 출생의 날짜로이 클래스를 사용하는 클래스에서 :
public class Person
{
@Past
private CustomDateTime dateOfBirth;
}
나는 다음 ConstraintValidator<Past, CustomDateTime>
을 구현하여 사용자 정의 유효성 검사기를 만들 수 있습니다. 그러나 유효성 검사 구현에는 사용자 지정 유효성 검사기에 대한 지식이 없으므로이 방법은 작동하지 않습니다. 그런 다음 javax.validation.UnexpectedTypeException: No validator could be found for type: com.example.CustomDateTime
을 던집니다.
@Past
에 사용되는 사용자 정의 유효성 검사기를 등록 할 수 있습니다 ;-)
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = {CustomDateTimePastValidator.class})
public @interface Past
{
....
}
그러나 그것은 나에게 두 번 코드처럼 보인다 :
난 당신이 일반적으로이 같은 별도의 주석을 만들 것을 알고있다 ?
@ siebz0r 당신에게 효과가 있었습니까? –