2011-04-11 50 views
3

如何在不提供命令對象的情況下驗證簡單表單(一個輸入字段)並顯示錯誤?我的簡單形式是:Spring MVC:無需@ModelAttribute /「命令對象」的簡單驗證

<form id="verify" action="check.html"> 
     <input name="code"/> 
     <form:errors path="code" />   
     <input type="submit" value="ok" />  
    </form> 

控制器處理程序方法如下。我需要產生的錯誤信息和到位的form:errors

@RequestMapping("/check.html") 
public String check(@RequestParam(value="code") String code) { 
    if(!isGood(code)) { 
     // How to bind some error messages for `code` ? 
     return "fail"; // fail page 
    } 
    return "ok"; 
} 

回答

5

總而言之一句話,<form:errors>顯示沒有<form:form>@ModelAttribute - 相關功能不起作用。如果你想simpliest解決方案,您可以導出錯誤消息作爲一個正常的模型屬性,而不是使用<form:errors>

@RequestMapping("/check.html") 
public String check(@RequestParam(value="code") String code, ModelMap model) { 
    if(!isGood(code)) { 
     model.put("codeError", "...") 
     return "fail"; // fail page 
    } 
    return "ok"; 
} 

<form id="verify" action="check.html"> 
     <input name="code"/> 
     <c:out value = "${codeError}" />    
     <input type="submit" value="ok" />  
    </form>