Когда я вводил алфавиты, такие как «adsf
» в поле ввода, пружина пытается привязать его к моей цене (двойному) свойству моего объекта «Код», и это вызывает исключение связывания. Что я могу сделать, чтобы избежать этой ошибки, если бы я хотел сохранить поле как двойное?Несоответствие типов, Spring BindException
POJO
@entity
@Table(name=“CODE”)
public class Code{
@Column(name=“PRICE”)
@NotNull
@DecimalMax(value=“999999999999.999999”)
@DemimalMin(value=“0.0”)
private Double price;
//getters and setters
}
Мой контроллер
@RequestMapping(value=“validateField”, method=RequestMethod.POST, produces=“application/json”)
public FieldValidatinResult validateField(final Code code, final String field){
//return statement
}
HTML страницы сообщение
<input type=“text” class=“form-control validatable” id=“price”></input>
Ошибка:
Field error in object ‘code’ on field ‘price’: rejected value [adsf];
codes[typeMismatch.code.price,typeMismatch.price,typeMismatch.java.lang.Double,typeMismatch]; arguments[org.springframework.context.support.DefaultMessageSourceResolvable:
codes [code.price,price]; arguments []; default message [price]]; default message
[Failed to convert property value of type 'java.lang.String' to required type
'java.lang.Double' for property 'price'; nested exception is
java.lang.NumberFormatException: For input string: "adsf"]
вы должны поставить проверку на стороне клиента. он не позволит вставлять ничего, кроме цифр. – Pratik
улавливать 'NumberFormatException'? –