当我尝试在我的 jsp 表单String
的字段中键入 a 时,我仍然遇到致命错误而不是正常的表单验证。int
我已经添加typeMismatch=msg
了 messages.properties (Howto validate Collections in Maps),但它没有用。我还能错过什么?
问问题
535 次
1 回答
1
发现问题:你不能这样写:
@RequestMapping(value = "/addSomething", method = RequestMethod.POST)
public String addSomething(
@ModelAttribute("something") Something something,
@Valid Something validSomething,
BindingResult result,
ModelMap map) {
...
某些属性必须从 String 转换为 int,并且转换是在验证之前进行的。情况不妙!而且也是validSomething
没用的。这解决了问题:
@RequestMapping(value = "/addSomething", method = RequestMethod.POST)
public String addSomething(
@Valid @ModelAttribute("something") Something something,
BindingResult result,
ModelMap map) {
...
这也证明您最好将代码放在问题中。“你”是指我。
于 2013-05-14T14:05:31.687 回答