2013-04-08 45 views
0

我嘗試驗證一個簡單的表單。驗證很好地執行,但結果頁面不顯示錯誤。 我使用velocity來渲染頁面。 我以春季網站的PetClinic項目爲例。春天MCV 3 showErrors不顯示任何東西

這裏是我的控制器時,我打「後表格」按鈕:

@Controller 
@RequestMapping("/subscription") 
public class SubscriptionController { 

@RequestMapping(value = "/newCustomer", method = RequestMethod.POST) 
public String processSubmit(@ModelAttribute Customer customer, BindingResult result, SessionStatus status) { 

    new CustomerValidator().validate(customer, result); 
    if (result.hasErrors()) { 
     return "subscription"; 
    } 
    else { 
     status.setComplete(); 
     return "redirect:/admin"; 
    } 
} 

} 

當我在調試走了,我看到了錯誤。我已在訂閱頁面上成功重定向,但未顯示錯誤。

我的網頁(簡體):

... 

      #springBind("customer") 
      #springShowErrors("<br/>" "") 
      <form class="form-horizontal" method="post" action="#springUrl("/subscription/newCustomer/")"> 

         .... 

         <!-- Button --> 
         <div class="controls"> 
          <button class="btn btn-primary">#springMessage("website.subscription.signup")</button> 
         </div> 

      </form> 

... 

,如果你有什麼需要,請不要猶豫,告訴我。謝謝你的幫助!我幾天以來一直堅持這一點。

回答

0

編輯: 我終於找到了錯誤。這是與springBind標籤。我不明白你需要綁定字段來顯示相關的錯誤。這是twitter引導框架的一個字段的固定代碼。

    #springBind("customer.name") 
        <div class="control-group #if(${status.error})error#end"> 

         <!-- Prepended text--> 
         <label class="control-label">#springMessage("website.subscription.name")</label> 
         <div class="controls"> 
          <div class="input-prepend"> 
           <span class="add-on"><i class="icon-user"></i></span> 
           <input class="input-xlarge" 
            placeholder="John Doe" id="name" name="name" type="text">         
          </div> 
          <p class="help-block">         
           #springShowErrors("<br/>" "") 
          </p> 
         </div> 

        </div> 

springShowErrors(...)將顯示所有與POJO客戶的字段名稱相關的錯誤。