Witam,
mam prosty formularz, z którego chcę zapisać cenę i ilość do obiektu zawierającego m.in. takie pola:
@NotEmpty
@NumberFormat(style = Style.CURRENCY)
@Column(name = "PRICE")
private BigDecimal price;
@NotEmpty
@NumberFormat(style = Style.NUMBER)
@Column(name = "AMOUNT")
private Integer amount;
Formularz
<form:form modelAttribute="prod" action="" method="post">
<div class="element">
<form:label path="category" for="category">Product category</form:label>
<form:select style="width: 310px; height: 140px;" path="category">
<c:forEach items="${cats}" var="cat">
<form:option value="${cat.id}">${cat.name}</form:option>
</c:forEach>
</form:select>
</div>
<div class="element">
<form:label path="name" for="name">Product title</form:label>
<form:input path="name" style="width: 300px;" id="name" name="name"/>
<form:label path="describe" for="describe">Product describe</form:label>
<form:textarea path="describe" style="width: 300px; height: 200px;" id="describe" name="describe"/>
<form:label path="price" for="price">Product price</form:label>
<form:input path="price" id="price" name="price"/>
<form:label path="amount" for="amount">Product amount</form:label>
<form:input path="amount" id="amount" name="amount"/>
</div>
<form:errors path="name"><div class="n_error"><p><form:errors path="name"></form:errors></p></div></form:errors>
<form:errors path="describe"><div class="n_error"><p><form:errors path="describe"></form:errors></p></div></form:errors>
<form:errors path="price"><div class="n_error"><p><form:errors path="price"></form:errors></p></div></form:errors>
<form:errors path="amount"><div class="n_error"><p><form:errors path="amount"></form:errors></p></div></form:errors>
<div class="entry">
<button type="submit">Go to the next step</button></div>
</form:form>
**
Problem jest następujący
**
-
-
javax.validation.UnexpectedTypeException: HV000030: No validator could be found for type: java.math.BigDecimal.
- Podobny problem występuje z Integer. - Wymyśliłem, żeby zrobić klasę DTO powyższej i do niej zapisywać wartość stringową, następnie validować i zwracać jej wartość liczbową, ale to chyba nie jest zbyt dobry sposób, szczególnie że przechowywane mają być wartości pieniężne. Jak powinno się to prawidłowo zrobić?
-
-
- W jaki sposób obsłużyć tę adnotację, aby nadać jej własny komunikat?
Pozdrawiam