내가 카드 만료를 검증하는 기성품 주석의 모르는에 만료되지만 자신을 만드는 것은 매우 쉽습니다 것을 의미한다.
은 주석 작성 :
@Target({ METHOD, FIELD, PARAMETER })
@Retention(RUNTIME)
@Constraint(validatedBy = CardExpirationValidator.class)
public static @interface CardExpiration {
String message() default "Expiration invalid";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
참고 javax.validation.Constraint
주석 - CardExpirationValidator.class
- 그것은 CardExpiration 주석이 다른 클래스에 의해 검증 제약이 있다고 말한다. 이제 우리의 검증 로직을 사용하여 클래스를 작성해 보겠습니다.
public static class CardExpirationValidator implements ConstraintValidator<CardExpiration, String> {
@Override
public void initialize(CardExpiration annotation) {
//Not much to do - this is invoked before "isValid", and can be used to pass annotation parameters
}
@Override
public boolean isValid(String value, ConstraintValidatorContext context) {
//Insert validation logic for "value" here. Return true/false
}
}
지금이 같은 매개 변수 및 필드에 주석을 달 수 있습니다 :
public class CreditCardData {
@NotNull
private Long cardNo;
@NotNull
@CardExpiration
private String expiryDate;
}
참조 Jersey의/JBoss의 설명서 주제에이 같은 될 것입니다.