Класс валидатора Pincode
открытый класс PincodeValidator реализует ConstraintValidator {int size;
@Override
public void initialize(IsValidPincode constraintAnnotation) {
this.size = constraintAnnotation.sizeOfPincode();
}
@Override
public boolean isValid(Integer num, ConstraintValidatorContext arg1) {
if(num==null)return false;
if(Math.floor(Math.log10(num) + 1)==size) return true;
return false;
}}
Столбец студенческого компонента:
@IsValidPincode(sizeOfPincode=6, message="Pincode must be of size {sizeOfPincode}")
@Column(name="pincode")
int pincode;
Ошибка от BinderResult:
Не удалось преобразовать значение свойства типа java.lang.String в требуемый тип int для свойства pincode;вложенное исключение - java.lang.NumberFormatException: для входной строки: ""
что я спрашиваю, как обработать эту ошибку связующего результата, моя пользовательская ошибка: Пин-код не может быть пустым