Я использую редактор Spring CustomNumberEditor для привязки своих значений с плавающей точкой, и я экспериментировал с тем, что если в значении нет числа, иногда он может анализировать значение и не возвращается ошибка.Spring CustomNumberEditor анализирует номера, которые не являются номерами
- числа = 10 ...... того число равно 10, и нет никаких ошибок
- числа = 10a ...... того число составляет 10, и нет никаких ошибок
- числа = 10À25 ...... того число 10, и нет никаких ошибок
- числа = а ...... ошибки, потому что номер не является действительным
Таким образом, кажется, что редактор анализирует значение пока он не сможет и не опустит остальных. Есть ли способ настроить этот редактор, чтобы проверка была строгой (поэтому числа, такие как 10a или 10a25 приводят к ошибке), или мне нужно создать свою собственную реализацию. Я смотрю что-то вроде установки lenient в false в CustomDateEditor/DateFormat, поэтому даты не могут быть проанализированы на наиболее вероятный.
Как я зарегистрировать редактора является:
@InitBinder
public void initBinder(WebDataBinder binder){
NumberFormat numberFormat = NumberFormat.getInstance();
numberFormat.setGroupingUsed(false);
binder.registerCustomEditor(Float.class, new CustomNumberEditor(Float.class, numberFormat, true));
}
Спасибо.
Спасибо. Но если я выполнил свою собственную реализацию, я думаю, что я могу расширить класс CustomNumberEditor и переопределить метод setAsText, проверяя, является ли это число так же, как и вы, и если оно происходит с помощью super.setAsText – Javi