我的BindingResult错误顺序存在很大问题。假设我们有:
public class MyForm {
@NotEmpty(message = "Not empty")
private String name;
@Email(message = "Not valid email")
private String email;
}
我的控制员:
@RequestMapping(value = "/my-url", method = RequestMethod.POST)
public String execute(@Valid @ModelAttribute("form") MyForm form, BindingResult result, Model model) {
if(result.hasErrors()) {
//I need to sort the list here
return "/my-url";
}
//rest of the code
}
BindingResult扩展了AbstractBindingResult,你可以得到错误列表,但它的实现看起来像这样(AbstractBindingResult.class):
private final List<ObjectError> errors = new LinkedList<ObjectError>();
@Override
public List<ObjectError> getAllErrors() {
return Collections.unmodifiableList(this.errors);
}
最后,我无法对此列表进行排序,更改或执行其他操作。我试过反思,但这不是一个好的解决方案。有没有其他方法可以使错误与MyForm中的字段保持相同的顺序?