如何在名称中使用“ - ”获取表单值?

时间:2012-09-06 13:32:49

标签: forms playframework-2.0

我正在使用Play Framework(2.0.3),我有这种表单元素:

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

服务器端,我有一个简单的Form类:

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

当然,它不起作用。

我该怎么办?是否有注释表示名称匹配?

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

  • 在HTML表单中使用相同的名称:

    <input type="text" name="elementName" value="" />
    
  • 或为您的字段使用单字名称
  • 或从DynamicForm

    手动绑定
    String el = form().bindFromRequest().get("element-name");
    

答案 1 :(得分: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);