My code looks like this
@RequestMapping(value = "/test2Form", method = RequestMethod.POST)
public String testForm(@ModelAttribute("someBean") SomeBean someBean, BindingResult result) {
BindException errors = new BindException(someBean, "someBean");
someValidator.validate(someBean, errors);
for (FieldError error : errors.getFieldErrors()) {
result.addError(new FieldError("someBean", error.getField(), error.getCode()));
}
// Field error
if (result.hasErrors()) {
return "test/test1";
}
return "index";
}
public class SomeBean{
private Integer someInteger;
// getter and setter
}
This works fine until the user changes the value via HTML to a non Integer value, e.g. like this: http://www.pichost.de/image/9IN
In this case a type mismatch occurs (something like Failed to convert property value of type java.lang.String to required type java.lang.Integer for property someInteger; nested exception is java.lang.NumberFormatException
).
I don't want to display this generated error message. Instead, I want to display only my error messages. Is this possible?
My JSP looks like this:
<form:form action="test2Form.htm" commandName="someBean" method="post">
<form:select path="someInteger">
<option value="1">Value 1</option>
<option value="2">Value 2</option>
<option value="3">Value 3</option>
</form:select>
<form:errors path="someInteger" element="div"/>
<input type="submit" value="Submit">
</form:form>