2011-12-19 51 views
1

我試圖在某些字段上驗證失敗時顯示一般性錯誤消息,以及其他字段失敗時的更具體的消息。但是,我一直無法找出一種方法來檢查按鍵是否存在多個錯誤。Play Framework 1.2.4:檢查是否存在特定錯誤

我知道我可以用#{ifError 'key'}檢查一個錯誤,我可以用#{ifErrors}檢查多個錯誤,但是如何檢查多個錯誤鍵,如#{if (error 'keyA' || error 'keyB')}?多個if語句不起作用,因爲如果存在某些錯誤,我希望只顯示一次通用消息。

我想要做的是顯示在下面的代碼片段:

<!-- Only if there's an error on the 'specific' field will this div 
    be populated. --> 
<div class="specificError">#{error 'specific' /}</div> 

<!-- If there are other errors, display a generic error message. 
    This if statement won't compile but shows what I want to do. --> 
#{if (error 'fieldA' || error 'fieldB')} 
    <div class="genericValidateError">&{'error.validation'}</div> 
#{/if} 

所有建議,歡迎,其中包括建議的替代驗證方法。

回答

3

您可以訪問驗證對象檢查領域直接作爲跟隨

#{if play.data.validation.Validation.current().hasError("fieldA") || 
    play.data.validation.Validation.current().hasError("fieldB") } 

    <div class="genericValidateError">&{'error.validation'}</div> 
#{/if} 
+0

我在文檔中找不到示例,但是您的建議沒有辦法。謝謝! – 2011-12-28 20:22:06

0

也許這樣做是創建自己的FastTag的最佳途徑。至少我認爲這是一個更好的選擇(易於在不同視圖中測試和重用)。你可以在這裏看到如何創建你自己的快速標籤:custom java tags