модель ....
@Digits(integer=5, fraction=0, message="The value must be numeric and less than five digits")
private int value;
файл бобов ....
<mvc:annotation-driven />
контроллер ....
@RequestMapping(value = "/admin/save.htm", method = { RequestMethod.POST })
public ModelAndView saveSection(@Valid @ModelAttribute Section section, BindingResult result) {
if(result.hasErrors()) {
return new ModelAndView("admin/editSection", "section", section);
}
Как ограничить «значение» только цифрами? Если я ввожу что-то кроме числа, я получаю эту ошибку:
Не удалось преобразовать значение свойства
введите java.lang.String в требуемый тип
java.lang.Integer для собственности
значение; вложенное исключение
org.springframework.core.convert.ConversionFailedException:
Невозможно преобразовать значение "A" из типа
java.lang.String для ввода
java.lang.Integer; вложенное исключение
java.lang.IllegalArgumentException:
Невозможно разобрать A
Я видел несколько постов, в которых упоминается initBinding, но я не уверен, как его использовать или он мне даже поможет. Это должно было быть решено раньше. Есть ли способ, чтобы убедиться, что это число, прежде чем оно будет связано?
Или, если кто-то может опубликовать правильную запись messages.properties, чтобы переопределить эту ошибку, это может сработать и для меня.
Я пробовал @Pattern, но это не работает с целыми числами