2014-09-30 42 views
1

我使用Play Framework 2.3和Twitter Bootstrap 3.2.0來顯示我的表單,並且由於PlayFramework帶有一個與Bootstrap 3.2不兼容的助手,我做了我自己的表單顯示,像這樣:Playframework表單顯示i18n鍵而不是消息

@defining(form("name")) { element => 
<div class="[email protected](element.hasErrors){ has-error}"> 
    <label class="col-sm-3 control-label" for="[email protected]">Instance name</label> 
<div class="col-sm-5"> 
     <input type="text" name="@element.name" id="[email protected]" class="form-control" value="@element.value" placeholder="Enter a name for your instance" required /> 
     @element.errors.map { error => <span class="help-block">@error.message</span>} 
    </div> 
</div>} 

這個作品真的很好,除了一個關鍵點,這條線:

@element.errors.map { error => <span class="help-block">@error.message</span>} 

,而不必像「這是必須填寫」的消息,我得到:error.required =>關鍵的消息,而不是。

我想切換到這一點,沒有任何成功。

@element.errors(element.lang).map { error => <span class="help-block">@error.message</span>} 
+0

我堅持同樣的問題也做了你去找到這個問題的解決? – 2015-02-12 00:06:58

+0

的確,所以我加了一個答案:) – 2015-02-12 09:13:23

回答

0

於是我終於有了它的工作,這是我的解決辦法:在這裏

@defining(form("name")) { element => 
<div class="[email protected](element.hasErrors){ has-error}"> 
    <label class="col-sm-3 control-label" for="[email protected]">Your name</label> 
    <div class="col-sm-5"> 
     <input type="text" name="@element.name" id="@element.name" class="form-control" value="@element.value" placeholder="Enter a name" required /> 
     @element.errors.map { error => <span class="help-block">@play.i18n.Messages.get(error.message)</span>} 
    </div> 
</div>} 

的關鍵是(簡單)使用@play.i18n.Messages.get(error.message)

相關問題