2012-09-25 76 views
1

我想翻譯由views.html.helpers._輸入生成的標記的默認約束和錯誤消息。我在文檔中找不到它,並且已經開始瀏覽代碼,但如果有人比我快,請回答並獲得獎勵。對於現場信息和錯誤,i18n消息ID是什麼?

下面是示例模板代碼:

@inputText(regForm("Login"), 'id-> "username", 'placeholder -> "Login", 'required -> "yes", 'autofocus -> "yes") 

這裏是生成的HTML:

<div id="username_field" class="error clearfix"> 
<div class="input"> 

<input type="text" id="username" name="Login" value="" id="username" placeholder="Login" required="yes" autofocus="yes"> 

    <span class="help-inline">This field is required</span> 
    <span class="help-block">Required</span> 
</div> 

我想翻譯出現在最後兩個跨度文本。

編輯: 我已經知道翻譯是如何工作的from the documentation。沒有說明的是,在沒有滿足字段約束的情況下顯示的消息(錯誤消息)和一般信息的默認消息ID。

回答

3

您必須覆蓋source messages file中您自己的messages.xy文件中的標籤。

也看看other answer前段時間,如果默認語言的文件不是lang擴展名,則會出現問題。 AFAIK在答案後被修復了,但是如果你檢查它並確認評論中的當前狀態,它會很酷。

+0

好吧,好的:我的錯。只閱讀你回答的問題是正確的。但是我特意詢問了消息ID,並且我找到了它。看到我的答案。 – Rajish

0

瀏覽代碼我發現它在哪裏被記錄。特徵文檔中簡要提及了密鑰。你必須展開約束生成器的定義來讀取它。 forms handling documentation中涵蓋了如何使用約束。但沒有覆蓋另一種方式存在 - 通過使用輸入屬性喜歡這裏:

@inputText(regForm("Login"), 'id-> "username", 'placeholder -> "Login", 'required -> "yes", 'autofocus -> "yes") 

這裏是在/Play20/framework/src/play/src/main/scala/play/api/data/validation/Validation.scala(主分支)來實現的ID:

  • nonEmpty(即與'required場屬性)
    • 的相關信息:constraint.required
    • 錯誤:error.required
  • min(即,具有'min屬性的字段;用一個參數的消息)
    • 的相關信息:constraint.min(minValue)
    • 錯誤:error.min(minValue)
  • max(即'max屬性的字段;用一個參數的消息)
    • 的相關信息:constraint.max(maxValue)
    • 錯誤:error.max(maxValue)
  • minLength(即與'minLength屬性的字段)
    • 的相關信息:constraint.minLength(length)
    • 錯誤:error.minLength(length)
  • maxLength(即一個字段與'maxLength屬性)
    • 的相關信息:constraint.maxLength(length)
    • 錯誤:error.maxLength(length)
  • pattern(即與'regex屬性的字段)
    • 的相關信息:constraint.pattern(regex)
    • 錯誤:error.pattern(regex)

上述HTML5中引入的屬性,所以他們不會被所有的瀏覽器進行處理,但框架驗證將處理它。