У меня ошибка при использовании личного Валидатора.
Вот мой Валидатор, сначала Number.java
@java.lang.annotation.Documented
@Constraint( validatedBy = NumberValidator.class )
@java.lang.annotation.Target( value = { java.lang.annotation.ElementType.FIELD } )
@java.lang.annotation.Retention( value = java.lang.annotation.RetentionPolicy.RUNTIME )
public @interface Number
{
String message( ) default "Default msg";
Class<?>[] groups( ) default {};
Class<? extends Payload>[] payload( ) default {};
}
, затем NumberValidator.java
public class NumberValidator implements ConstraintValidator<Number, String>
{
@Override
public void initialize( Number constraintAnnotation )
{}
@Override
public boolean isValid( String value, ConstraintValidatorContext context )
{
return NumberUtils.isNumber( value ); // check if the string value is a number
}
}
Изатем я использую аннотацию с @Number
.
Это работало до вчерашнего дня, я ничего не изменил (я думаю), но теперь у меня есть эта ошибка:
Unable to initialize commons.validator.NumberValidator
[...]
Caused by: java.lang.ClassCastException: $Proxy47 cannot be cast to commons.validator.annotation.Number