2013-06-03 136 views
0

當我試圖驗證是否隱藏場是春天驗證空或不通過驗證發送的消息是隱藏來! !但是我想展示它。這是隱藏字段:顯示驗證的消息隱藏字段

<form:errors path="cinn" Class="errorblock"/> 
<input type="hidden" value="${agact.cinn}" name="cinn" /> 

驗證其的方法返回消息:

public void validate(Object obj, Errors err) { 
     ValidationUtils.rejectIfEmptyOrWhitespace(err, "cinn", "name.required","You have to choose an agent first"); 
    } 

任何想法?

+1

我想你應該重新考慮你的設計。您如何期望用戶可以編輯隱藏字段來修復其值? –

+0

我自動填寫,這個字段將被髮送到另一個頁面,這就是爲什麼我隱藏它。 – Somar

回答

1

用戶不應該首先修改該字段(除非擺弄螢火蟲之類),所以最好的辦法是斷言該值是正確的,如果不是,拋出一個異常(例如IllegalStateException)並作出反應通過顯示錯誤消息,例如:

控制器:

@RequestMapping(..) 
public String submit(..) { 
    if (hidden field is empty) { 
     throw new IllegalStateException("Missing XXX"); 
    } 
    .... 
    return "redirect:success" 
} 

@ExceptionHandler 
public String handle(IllegalStateException e) { 
    logger.warn("User attempted to fiddle with POST data"); 
    return "error"; 
} 

其中「錯誤」是一個示例視圖名。

+0

你是什麼意思,拋出一個異常,並在UI中作出反應? – Somar

+0

查看編輯答案。 – Jukka

+0

請問我應該導入哪個jar來獲取記錄器? 此導入爲我返回一個錯誤:import org.hibernate.validator.internal.util.logging.Log_.logger; @Jukka – Somar