免责声明:我仍然不使用Spring-MVC 3.0
但是我认为Spring 2.5使用的相同方法可以满足您的需求
for (Object object : bindingResult.getAllErrors()) { if(object instanceof FieldError) { FieldError fieldError = (FieldError) object; System.out.println(fieldError.getCode()); } if(object instanceof ObjectError) { ObjectError objectError = (ObjectError) object; System.out.println(objectError.getCode()); }}希望对您有用
更新
如果要获取资源包提供的消息,则需要一个注册的messageSource实例(它 必须 称为messageSource)
<bean id="messageSource" > <property name="basenames" value="ValidationMessages"/></bean>
将您的MessageSource实例注入视图中
@Autowiredprivate MessageSource messageSource;
要获取您的消息,请执行以下操作
for (Object object : bindingResult.getAllErrors()) { if(object instanceof FieldError) { FieldError fieldError = (FieldError) object; String message = messageSource.getMessage(fieldError, null); }}您的验证器应该看起来像
errors.rejectValue("<FIELD_NAME_GOES_HERE>", "answerform.questionId.invalid", new Object [] {"123"}, null);


