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