Reputation: 9
I have one table in MySQL:
CREATE TABLE `myTab` (
`code` VARCHAR(10) NOT NULL,
`membershipValue` DOUBLE(15,2) NULL,
PRIMARY KEY (`code`));
and my class:
@Id
private String code;
@NumberFormat(pattern="###,##0.00")
private Double membershipValue=0.0;
I made an annotation using NumberFormat for the monetary format I desired...
Then, I create the HTML using spring and Thymeleaf. Here is the form:
<form th:action="@{/plan/addMyTab}" th:object="${oMyTab}" method="post">
<div class="row">
<fieldset class="form-group border rounded-3 p-3">
<legend>Membership</legend>
<div class="row">
<label class="col-sm-2 col-form-label">Membership value</label>
<div class="col-sm-2">
<input class="form-control" type="text" th:field="*{membershipValue}">
</div>
<div class="col-sm-1">
<span class="mensagem" th:if="${#fields.hasErrors('membershipValue')}" th:errors="*{membershipValue}"></span>
</div>
</div>
</fieldset>
</div>
<input class="btn btn-primary" type="submit" value="Gravar" />
</form>
When I submit the form, I got this error:
With description: Failed to convert property value of type java.lang.String to required type java.lang.Double for property membershipValue; For input string: "1.234,56"
This error only happens with values > 1.000,00 (in USA: 1000.00)
What I'm doing wrong?
Upvotes: 0
Views: 22