typeMismatch错误,即使在messages.properties中使用typeMismatch = msg也是如此

时间:2013-05-14 08:51:15

标签: spring spring-mvc

当我尝试在jsp表单的String字段中键入int时,我仍然遇到致命错误,而不是正常的表单验证。我在messages.properties(Howto validate Collections in Maps)中添加了typeMismatch=msg但它没有用。我还能错过什么?

1 个答案:

答案 0 :(得分:0)

发现问题:你不能这样写:

@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) {
        ...

这也证明你最好把代码放在问题中。而“你”我指的是我。