2012-09-06 150 views
1

我使用的播放框架(2.0.3),我有這樣的表單元素:如何用「 - 」名稱獲取表單值?

<input type="text" name="element-name" value="" /> 

服務器端,我有一個簡單的表格類:

public class MyForm { 
    @Constraints.Required 
    public String elementName; 
} 
當然

,它不起作用。

我該怎麼辦?是否有註釋用名稱來表示匹配?

感謝您的幫助!

回答

1
  • 在HTML表單中使用同一個名字:

    <input type="text" name="elementName" value="" /> 
    
  • 或使用單個單詞的名稱爲您的領域
  • 或從DynamicForm

    String el = form().bindFromRequest().get("element-name"); 
    
手動將它綁定
+0

所以我*不*使用與元素「 - 」在自制的Form類? –

+0

我沒有嘗試,我沒有看到任何好的理由,而修復HTML是最快的方法。 – biesior

+0

我無法更改HTML,我需要使用特定的類,我該怎麼辦? –

1

AFAIK,這是不可能的。

我想你可以使用DynamicForm並自己做驗證。

或者你可以嘗試這樣的事情(不知道是否可行):

Map<String, String> elementNameAsMap = new HashMap<String, String>(); 
// find the HTML input value 
elementNameAsMap.put("elementName", request().body().asFormUrlEncoded().get("element-name")[0]); 

Form<MyForm> myForm = form(MyForm.class).bindFromRequest().bind(elementNameAsMap);