我在春天有网络应用程序。我有这样的形式:
<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;
}
}
答案 0 :(得分:0)
我现在看到了,你没有说明哪个是myCandidate
方法输入的模型属性。
你必须改变
@ModelAttribute @Valid Candidate myCandidate
进入
@ModelAttribute("myCandidate") @Valid Candidate myCandidate