我想使用sf:form來堅持一個實體。使用彈簧形式的驗證錯誤
這是JSP:
<sf:form method="POST" action="${pageContext.request.contextPath}/addStudent" modelAttribute="student">
<fieldset>
<table>
<tr>
<th><sf:label path="nb">Number:</sf:label></th>
<td><sf:input type="text" path="nb"/><br/>
<sf:errors path="nb"></sf:errors>
</tr>
......
</table>
</fieldset>
在該實體的屬性是這樣的:
@NotNull(message="not null")
@Size(min=5, max=10, message="length min 5")
@Column(name="NB", unique=true)
private String nb;
控制器:
@RequestMapping(value="/addStudent", method=RequestMethod.POST)
public ModelAndView addStudent(HttpServletRequest request, @ModelAttribute("student") @Valid Student student, BindingResult bR){
ModelAndView mav = new ModelAndView("students");
if(bR.hasErrors()){
return mav;
}
studentService.saveStudent(student);
return mav;
}
那麼,當我將nb字段留空或條目是簡短的,我得到一個驗證錯誤。我的問題是,在JSP沒有顯示錯誤,但會拋出異常:
List of constraint violations:[
ConstraintViolationImpl{interpolatedMessage='length min 5', propertyPath=nb, rootBeanClass=class i.have.serious.problem.Student, messageTemplate='length min 5'}
javax.validation.ConstraintViolationException: Validation failed for classes [i.have.serious.problem.Student] during persist time for groups [javax.validation.groups.Default, ]
也許我錯過了什麼。我明白任何提示或幫助,THX
------ -----------------------已解決------------------------ -----------
thx關懷!問題解決,如下所述:)不過! – user1386375 2012-08-04 01:20:13