0

我可以成功验证我的表单,甚至返回错误。当我的视图有一些选择需要填充来自控制器的数据时,我的问题就开始了。

当我执行 model.addAttribute(...) 时,它会停止将错误传递给视图:

 public String registerSubmit(@Valid @ModelAttribute("jconcorrente") Jconcorrentes concorrente, BindingResult result, HttpServletRequest request, Model model){

         if(result.hasErrors()) {
             model.addAttribute("listJdistrito", this.jdistritoService.listJdistrito());
             model.addAttribute("listJtipocodiden", this.jtipodocidenService.listJtipodociden());
             model.addAttribute("jconcorrente", new Jconcorrentes());
                return "register";
            }

所以我的问题是如何在不影响验证错误的情况下传递数据?

4

1 回答 1

1

我的猜测是您的错误没有被填充,因为您将模型属性的新实例直接添加到模型中。

尝试删除此行:

model.addAttribute("jconcorrente", new Jconcorrentes());

从您的 if 语句中创建新方法,如下所示:

@ModelAttribute("jconcorrente")
public Jconcorrentes getJconcorrentes() {
    return new Jconcorrentes();
}

让其他一切保持不变,它应该可以工作。

于 2015-07-06T12:01:29.820 回答