0

我从表单对象中获取值有一些问题。

  1. 我正在处理 GET 请求。这将生成具有预定义值的表单:

    Form<ModelObject> form = form(ModelObject.class).fill(new ModelObject());
    return renderJapid(form);
    
  2. 在模板中,我定义了参数,Form<ModelObject>它被命名为'form'。页面上只有标准的 html 输入框,例如:

    <input type="text" id="fieldName" name="fieldName" value="$form.apply("fieldName").value()">
    
  3. 提交此表单后,我使用另一种方法处理此 POST 请求:

    Form<ModelObject> form = form(ModelObject.class).bindFromRequest();
    if (form.hasErrors()) {
            //render the form again with errors
       } else {
         ModelObject mo = form.get(); // NO-VALUE ERROR
    }
    

    每次我在要从表单中获取对象的标记行上出现无值错误时。你有什么想法可能是问题所在吗?(显示预填数据,甚至提交后的表单对象数据正确但无值)

4

1 回答 1

0

最后我解决了我的问题。问题是由我的 GenericModel 类(每个模型类都从这个类扩展)引起的,它有 method public boolean validate()。当我删除此方法时,一切正常。我知道 Play 调用此方法用于我自己对对象的自定义验证,但我仍然不明白为什么这会将表单值更改为None.

于 2013-09-23T08:42:59.260 回答