在我的 Spring MVC 验证中,我的错误消息的顺序随机变化,我希望消息的顺序与它们出现在页面上的顺序相同。
我的 AccountForm.java 类看起来像:
@NotNull(message = "Account name cannot be empty.")
@Size(min=3, max=50, message="Account name must be between 3 and 50 characters long.")
private String accountName;
@NotNull(message = "Company name cannot be empty.")
@Size(min=3, max=50, message="Company name must be between 3 and 50 characters long.")
private String companyName;
而且我还在我的控制器中附加了一些自定义错误:
public ModelAndView create(@Valid AccountForm accountForm, BindingResult bindingResult) {
ModelAndView mav = new ModelAndView("accounts/new");
mav.addObject("errors", bindingResult.getAllErrors());
mav.addObject("accountForm", accountForm);
if (!bindingResult.hasErrors()) {
if(accountService.findByAccountName(accountForm.getAccountName()) != null) {
bindingResult.addError(new ObjectError("accountName", "Account name is already is use"));
}
..
..
}
if(bindingResult.hasErrors() {
return mav;
}
..
当我在表单上点击提交时,消息的顺序不断变化。
我使用以下方法在我的视图中呈现错误:
<#list errors as error>
<li>${error.defaultMessage}</li>
</#list>
这可以解决吗?