1

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

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

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

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

当然,它不起作用。

我怎样才能做到这一点?是否有注释表明与名称匹配?

4

2 回答 2

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

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

    String el = form().bindFromRequest().get("element-name");
    
于 2012-09-06T13:44:13.873 回答
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);
于 2012-09-06T15:21:54.607 回答