에 대한 @digit에 대한 다음 URL
을 함께 할 것입니다 필요합니다.
주석 :
@Target({ METHOD, FIELD })
@Retention(RUNTIME)
@Documented
@Constraint(validatedBy = { BigDecimalLengthValidator.class})
public @interface BigDecimalLength {
int maxLength();
String message() default "Length must be less or equal to {maxLength}";
Class<?>[] groups() default { };
Class<? extends Payload>[] payload() default { };
}
ConstraintValidator :
public class BigDecimalLengthValidator implements ConstraintValidator<BigDecimalLength, BigDecimal> {
private int max;
@Override
public boolean isValid(BigDecimal value, ConstraintValidatorContext context) {
return value == null || value.toString().length() <= max;
}
@Override
public void initialize(BigDecimalLength constraintAnnotation) {
this.max = constraintAnnotation.maxLength();
}
}
사용법 : 더 조정을위한 기본적인 요구를 작성해야
@BigDecimalLength(maxLength = 3)
private BigDecimal totalPrice;
(메시지를 다음과 같이 그 약을 수행 할 수 있습니다 속성 파일 등)을 확인하려면
Creating custom constraints을 확인하십시오.
최대 10 자 *** ***? 'bd.toString(). length() <= 10' – Andreas
JSR 주석을 사용하여 유효성을 검사하고 싶습니다. 그런 식으로는 안된다. –
나만의 맞춤 검증 제약 조건, 즉 자신의 주석과 자신의 'ConstraintValidator'구현을 구현한다. – Andreas