Playframework play2框架@必填字段问题

Playframework play2框架@必填字段问题,playframework,Playframework,我有两种方法:登录和注册,它们都使用“User”类,其中包含用户名、电子邮件和密码。我将所有三个字段都设置为@Required。由于这三个字段都是必需的,所以它可以很好地用于注册。问题是:我只想使用用户名和密码登录,但调用bindFromRequest()方法时会出现错误。除了删除电子邮件字段的@Required注释或创建两个单独的“User”类用于登录和注册之外,还有其他方法吗?如您所述,一种方法是删除电子邮件字段的@Required注释。 第二种方法是为这两个操作创建一个单独的User类。

我有两种方法:登录和注册,它们都使用“User”类,其中包含用户名、电子邮件和密码。我将所有三个字段都设置为@Required。由于这三个字段都是必需的,所以它可以很好地用于注册。问题是:我只想使用用户名和密码登录,但调用bindFromRequest()方法时会出现错误。除了删除电子邮件字段的@Required注释或创建两个单独的“User”类用于登录和注册之外,还有其他方法吗?

如您所述,一种方法是删除电子邮件字段的
@Required
注释。 第二种方法是为这两个操作创建一个单独的
User
类。 第三种方法是使用动态表单,如下所示:

public Result hello() {
    DynamicForm requestData = Form.form().bindFromRequest();
    String username = requestData.get("username");
    String password = requestData.get("password");
    // now do something with the data we got...
    return ok("Hello " + username);
}

一种解决方案是Anton——使用
DynamicForm
手动获取字段

第二种方法是创建额外的类,比如
LoginForm
,它只包含logn进程所需的字段和注释,然后像
Form…
那样使用它,而不是
Form…

第三个选项是创建自定义的
必需的
注释,该注释是上下文敏感的,无论如何,最有可能的是以前的(第二个)解决方案将更容易实现