Пробелы между цифрами при сохранении в БД

165
20 июля 2019, 07:00

Столкнулся со следующей проблемой. У меня есть форма, на которой есть input и в этом input я пишу число, например 45000, но когда я нажимаю сохранить, это число у меня в блоке отображается с пробелом через каждые 3 знака, примерно вот так 45 000 и когда я нажимаю на редактирование данной записи у меня в input появляется это число с пробелом и если не убрать пробел, то вылетит ошибка :

Failed to convert value of type 'java.lang.String' to required type 'java.lang.Double'; nested exception is java.lang.NumberFormatException: For input string: "3 400"

Форма с инпутами:

<div class="col-sm-8 add-section">
<div>
<div>
    <form method="post" action="/tab/tabList" enctype="multipart/form- 
data" class="col-12" id="add_form">
        <div class="form-group">
            <input type="text" name="model" placeholder="Введите модель" 
class="form-control">
        </div>
        <div class="form-group">
            <input type="number" name="price" placeholder="ENTER PRICE" 
class="form-control">
        </div>
        <div class="form-group">
            <input type="text" name="quantity" placeholder="Enter
quantity" class="form-control">
        </div>
        <div class="form-group">
            <input type="text" name="description" placeholder="Enter 
description" class="form-control">
        </div>
        <div class="form-group">
<span class="btn btn-default btn-file">
Выберите файл <input type="file" name="file">
</span>
        </div>
        <input type="hidden" name="_csrf" value="${_csrf.token}">
        <button type="submit" class="btn btn-primary">Добавить</button>
    </form>
</div>
</div>

Форма редактирования:

<div class="edit-form col-7">
<h3 class="display">Editor</h3>
<form action="/tab/save" method="post" enctype="multipart/form-data">
<input type="text" name="name" value="${tab.model}" class="form- 
control">
<input type="text" name="price" value="${tab.price}" class="form- 
control">
<input type="text" name="quantity" value="${tab.quantity}" 
class="form-control">
<input type="text" name="description" value="${tab.description}" 
class="form-control">
<input type="file" name="file" class="form-control">
<img src="/img/${tab.filename}" class="card-img-top">
<input type="hidden" name="id" value="${tab.id}">
<input type="hidden" name="_csrf" value="${_csrf.token}">
<button type="submit" class="btn btn-primary form- 
control">Save</button>
</form>
</div>

Класс сущности:

@Entity
public class Tab {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@NotBlank(message = "* Заполните поле.")
private String model;
@NotNull(message = "* Заполните поле.")
private Double price;
private String filename;
@NotNull(message = "* Заполните поле.")
private Integer quantity;
@NotBlank(message = "* Заполните поле.")
private String description;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "tab")
private List<TabChars> characts = new ArrayList<>();
public Tab(){}

public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public List<TabChars> getCharacts() {
return characts;
}
public void setCharacts(List<TabChars> characts) {
this.characts = characts;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
public Double getPrice() {
return price;
}
public void setPrice(Double price) {
this.price = price;
}
public String getFilename() {
return filename;
}
public void setFilename(String filename) {
this.filename = filename;
}
public Integer getQuantity() {
return quantity;
}
public void setQuantity(Integer quantity) {
this.quantity = quantity;
}
Answer 1

Я конечна не эксперт в Java, но почему не убирать пробелы после того как форма ушла? Это стандартная валидация.

Вот здесь посмотри

Валидация это наше все. Таким образом, когда вы будете проверять данные на правильность, у вас не будет возникать подобных ошибок. Советую вам более подробнее разобраться в этой теме.

READ ALSO
Java фризы во время выполнения

Java фризы во время выполнения

Собрал игру нa LibGDX в Eclipse, запускаю и каждые 10± секунд происходит дроп фреймрейта до 5-10 на пару секунд и освобождается 10Мб+ оперативной памятиДумал...

144
Метод equals и ==

Метод equals и ==

Фрагмент кода

160
Финализированные переменные

Финализированные переменные

Когда можно инициализировать final переменную? Может ли final переменная быть аргументом метода? Есть ли у final переменной значение по умолчанию?

144
Как сравнить объекты по параметрам

Как сравнить объекты по параметрам

Как сравнить два объекта по их параметрамТо есть, например у меня есть два объекта:

171