2015-10-22 56 views
2

目前我正在使用Spring Boot 1.2.7和freemarker作爲頁面模板引擎的項目。Spring Boot應用程序表單驗證被攔截/錯誤頁面

我想像以前一樣使用Bean驗證,但它不能按預期工作。

@RequestMapping(value = "/signup", method = RequestMethod.POST) 
public String signup(@Valid @ModelAttribute("signup") SignupForm signup, BindingResult result) { 
    log.debug("signup form @" + signup); 
    if (result.hasErrors()) { 
     return "/signup"; 
    } 

    //AccountDetails details = accountService.register(form); 
    return "redirect:/login"; 
} 

當Bean驗證失敗,它重定向到春季啓動內置/錯誤頁面,而不是在註冊頁面顯示錯誤消息。

+0

你能給SignupForm的更多的代碼和的ModelAttribute? –

回答

0

您的問題在SignupForm對象和signup模型屬性中。 Spring不能映射兩者。

0

您需要重定向到註冊頁面像

@RequestMapping(value = "/signup", method = RequestMethod.POST) 
public String signup(@Valid @ModelAttribute("signup") SignupForm signup, BindingResult result) { 
    log.debug("signup form @" + signup); 
    if (result.hasErrors()) { 
     return "signup"; 
    } 
    //AccountDetails details = accountService.register(form); 
    return "redirect:/login"; 
}