Spring MVC如何使用hibernate验证器错误对BindingResult表单进行排序

时间:2016-11-14 15:23:27

标签: java spring hibernate model-view-controller

我的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中的字段保持相同的顺序?

0 个答案:

没有答案