私の春の 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>
これは修正できますか?