Playframework 2.0 如何应用自定义逻辑并将表单POJO绑定到模型?

Playframework 2.0 如何应用自定义逻辑并将表单POJO绑定到模型?,playframework-2.0,Playframework 2.0,我有一个相当复杂的模型,名为任务。在这个对象中,我有一些繁重的自定义逻辑和日期-时间转换,因此我决定为表单创建一个POJO,因为我需要自定义验证/转换。但是如何将此POJO绑定回模型 这是正确的方法吗 public static Result save() { Form<forms.Task> taskForm = form(forms.Task.class).bindFromRequest(); if (taskForm.hasErrors()) {

我有一个相当复杂的
模型
,名为
任务
。在这个对象中,我有一些繁重的自定义逻辑和日期-时间转换,因此我决定为表单创建一个
POJO
,因为我需要自定义验证/转换。但是如何将此POJO绑定回
模型

这是正确的方法吗

public static Result save() {
    Form<forms.Task> taskForm = form(forms.Task.class).bindFromRequest();

    if (taskForm.hasErrors()) {
        return badRequest(views.html.tasks.create.render(taskForm));
    }
            // bind the formValues to our model
    Task newTask = form(Task.class).bind(taskForm.data()).get();
    newTask.createdBy = User.getLoggedInUserByAlias(session().get("user"));
    newTask.save();

    return GO_TO_OVERVIEW;
}
公共静态结果保存(){
Form taskForm=Form(forms.Task.class).bindFromRequest();
if(taskForm.hasErrors()){
返回badRequest(views.html.tasks.create.render(taskForm));
}
//将FormValue绑定到我们的模型
Task newTask=form(Task.class).bind(taskForm.data()).get();
newTask.createdBy=User.getLoggedInUserByAlias(session().get(“用户”));
newTask.save();
返回GO_至_概览;
}
有没有清洁剂的方法?我认为我做错了。

正如维基上提到的: 使用
validate
方法的自定义POJO是最佳且正确的POJO:

public class User {

  @Required
  public String email;
  public String password;

  public String validate() {
      if(authenticate(email,password) == null) {
          return "Invalid email or password";
      }
      return null;
  }
}

您的方法看起来更干净,因为advance mapping Dozer[高级绘图推土机]是一个不错的选择。