Spring表单不显示错误消息

时间:2013-08-28 09:01:45

标签: java spring

我在春天有网络应用程序。我有这样的形式:

<form:form action="submitFormAdd"  id="formId" method="GET" modelAttribute="myCandidate">
 <label for="nameInput" path="name"> Name</label>
 <form:input path="name" id="nameInput"></form:input>
 <form:errors path="name" cssclass="error"></form:errors>
</form:form>

以及处理程序:

@RequestMapping("/submitFormAdd")
    public String submitFormAdd(Model model
            ,@ModelAttribute @Valid Candidate myCandidate
            ,BindingResult result
            ,@ModelAttribute("skillsIdList") Set<Skill> skills
            ,@ModelAttribute("vacanciesForCandidate") Set<Vacancy> vacanciesForCandidate){
         if(result.hasErrors()) {
                return "candidateDetailsAdd";
            }
         return "candidateMenu";
    }

如果我键入少于10个符号result.hasErrors()等于true,但我没有在jsp页面上看到错误( 来自模型的课程:

public class Candidate {
   @Size(min=10)
   private String name;
   //getters and setters
}

如何解决?

P.S。 属性(/ui/src/main/resources/messages.properties):

Size.myCandidate.name = more size please
NotNull = Field cannot be left blank
NotEmpty = not empty

和config:

public class UiConfig {
    @Bean
    public MessageSource messageSource() {
        ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
        messageSource.setBasename("messages");
        return messageSource;
    }
}

1 个答案:

答案 0 :(得分:0)

我现在看到了,你没有说明哪个是myCandidate方法输入的模型属性。

你必须改变

@ModelAttribute @Valid Candidate myCandidate

进入

@ModelAttribute("myCandidate") @Valid Candidate myCandidate