У меня есть объект.
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, но, видимо, только для строк.
Есть предложения?