У меня есть объект.
public class MyObject
{
....
@Column(name = "a_number") @NotNull @NumberFormat(style = Style.NUMBER) @Min(1)
private Integer aNumber;
...
//getters and setters
}
В моем контроллере у меня есть аннотация @Valid для моего объекта. У меня есть проверка, работающая со всеми моими другими полями в классе (все их строки), кроме этого числа. Если я ввожу число из моей формы, оно будет работать нормально, и если я нарушу @Min (1), это также даст мне правильную ошибку проверки. Моя проблема, однако, заключается в том, что если вы введете строку вместо числа, она выдаст исключение NumberFormatException.
Я видел много примеров Integer и проверки, но никто не учитывает, если вы вводите строку в публикуемую форму. Нужно ли делать проверку еще где? Javascript? Я хотел бы решение, которое соответствует остальной части весенней проверки, чтобы я мог использовать это в других классах. Я просто хотел бы, чтобы ошибка указала, что она должна быть числовой. Также я попытался использовать аннотацию @Pattern, но, видимо, это только для строк.
Предложения